LINUX.ORG.RU

Gwenview и hidpi

 , ,


0

2

Есть kde (5.12/qt5.10) и 4k-монитор. Разумеется искаропки ничего не завелось, но прописывание QT_AUTO_SCREEN_SCALE_FACTOR=1 и PLASMA_USE_QT_SCALING=1 (и установка размера курсора принудительно в 48) решило проблему.

Вроде бы, да не совсем. Недавно я пригляделся, что картинки в gvenview как то не очень красиво выглядят. Раньше я грешил на древний фотик, но сегодня поменял обоину на столе на такую же но 4к - и выглядеть она стала почетче, а когда открыл ее в gwenview и выставил масштаб 1 в 1 - ничерта она по размеру экрана не оказалась.

Значит оно зачем-то скалит изображение в 2 раза. Я пробовал играться с переменными - и получается что то одно, или изображение без зерна но с крошечными иконками, или нормальные иконки и квадраты по 4 пикселя вместо 1.

Ради теста поставил lximage-qt - все то же самое, иконки высокого разрешения, но картинка явно растянутая. Блин, хоть самому садиться и пытаться накостылить картинкопросмотрщик играясь с тонной кутешных опций...

Есть ли способ это победить? Баг ли это в qt или что это вообще такое? У кого нибудь работает нормально?

★★

Я вообще не настоящий сварщик, но исходя из собственного опыта: QT_AUTO_SCREEN_SCALE_FACTOR=1 говорит всем QT приложениям рисовать «квадраты по 4 пикселя вместо 1». Так что или/или.

По уму это должны разработчики приложений пофиксить, чтобы их приложение нормально выглядело на 4k без костыля в виде QT_AUTO_SCREEN_SCALE_FACTOR=1

trex6 ★★★★★ ()
Ответ на: комментарий от gosha36

В некоторых прогах иконки не hidpi а просто растянутые. Смотрится некрасиво - пиксельное зерно заметно. В частности - smplayer/dragon player. Еще вырубил хинтинг и субпиксельное сглаживание - и в qmmp стала некрасивая бегущая строка с треком/альбомом, словно взяли хреново отрендеренный текст и растянули в 2 раза.

В остальных пока насколько смотрел, все красивенько.

wolph ★★ ()
Ответ на: комментарий от trex6

QT_AUTO_SCREEN_SCALE_FACTOR=1 говорит всем QT приложениям рисовать «квадраты по 4 пикселя вместо 1». Так что или/или.

Почему тогда с иконками в этом режиме все ок? Они то как раз не растягиваются, а берутся в нужном размере.

Хм. Попробую ка вырубить, а взамен попробовать в настройках увеличить размер иконок. Но чем то мне в прошлый раз такой вариант не нравился.

wolph ★★ ()
Последнее исправление: wolph (всего исправлений: 1)

В доках qt на QImageReader есть «High Resolution Versions of Images» и там написано «This can be disabled by setting the environment variable QT_HIGHDPI_DISABLE_2X_IMAGE_LOADING». Но я пробовал ставить эту переменную - чихать оно на нее хотело. Попробовал поиграться с аттрибутами Qt::AA_UseHighDpiPixmaps - вообще по барабану.

Нормального размера изображение получается только если пиксмапу поставить setDevicePixelRatio(2.0)...

wolph ★★ ()

Разумеется искаропки ничего не завелось

Шта?

QT_AUTO_SCREEN_SCALE_FACTOR=1 и PLASMA_USE_QT_SCALING=1 (и установка размера курсора принудительно в 48) решило проблему.

Не нужно. Достаточно указать масштаб в настройках KDE.

Значит оно зачем-то скалит изображение в 2 раза

17.12.3 - скейлит 1к1.

RazrFalcon ★★★★★ ()
Ответ на: комментарий от wolph

Качество иконок зависит от автора проги. Говорю как qt-разраб. Если автор поленился найти svg и не поставил AA_UseHighDpiPixmaps, то будет мыло, как у KeePassXC.

RazrFalcon ★★★★★ ()
Последнее исправление: RazrFalcon (всего исправлений: 2)
Ответ на: комментарий от RazrFalcon

Хм. В smplayer и dragon player иконки растянуты. А в vlc все отлично.

По gwenview нет никакого бага или треда где можно было бы отследить, признают ли они это и есть ли какая то движуха по исправлению?

Не самому же там pixelratio запатчить в конце концов...

wolph ★★ ()

Gwenview нужен только для многокадровых картинок и когда у проца не хватает мощности быстро открывать тяжёлые картинки через kuickshow.

Блин, хоть самому садиться и пытаться накостылить картинкопросмотрщик

Лучше kuickshow на новые либы перетащи чтобы он быстрее обрабатывал картинки-простыни.

Napilnik ★★★★★ ()