adblock check

Фреймворк GTK представил "привязку" окон для чёткого отображения при дробном масштабировании

В рамках подготовки следующей стабильной ветки разработчики показали новую технику рендеринга, нацеленную на решение визуальных проблем с размытием
Обложка: rawpixel, Magnific

Бенджамин Отте (Benjamin Otte), один из ключевых разработчиков проекта, в официальном блоге анонсировал внедрение в GTK 4.23.1 механизма под названием «snapping», призванного победить артефакты и размытость изображений при использовании нецелочисленных коэффициентов масштабирования интерфейса.

Суть проблемы в том, что координаты рисуемых элементов часто перестают совпадать с реальной физической пиксельной сеткой дисплея. Содержимое попадает «между пикселями», что приводит к характерной смазанной картинке в некоторых приложениях.

Новый механизм, включаемый через вызов gtk_snapshot_set_snap(), решает эту задачу путём принудительного выравнивания прямоугольников по ближайшим целым пикселям при отрисовке.

Фреймворк GTK представил "привязку" окон для чёткого отображения при дробном масштабировании
Изображение: Блог GTK

Разработчиками выделено три критических сценария, где эта технология даёт ощутимый положительный эффект. Первый касается спрайтовых сеток в 2D-играх — здесь дробное масштабирование создаёт видимые графические разрывы, которые полностью исчезают после включения «привязки». Второй сценарий отвечает за корректное отображение изображений в режиме масштаба 1:1, что принципиально важно для графических редакторов. Третий случай затрагивает аппаратные оптимизации: некоторые механизмы 2D-ускорения требуют строгого выравнивания данных по пиксельной сетке, иначе оборудование попросту не может правильно работать.

При этом в GTK подчеркивают, что автоматическое включение привязки не является панацеей и может навредить. Главный проблема — плавность медленных анимаций. При постоянном выравнивании контент в процессе скроллинга или движения начинает визуально «прыгать» от одного края пикселя к другому, разрушая иллюзию плавности. По этой причине функция остаётся опциональной, и разработчики приложений должны осознанно выбирать, где им стоит жертвовать чёткостью ради плавности.

Решение уже доступно в предварительной ветке GTK 4.23.1. Ожидается, что данная технология заметно повысит качество картинки на современных HiDPI-экранах в ведущих Linux-средах, сокращая технологический разрыв с проприетарными ОС.

Источник

Limows
@Limows
Автор
Линуксоид, техно-ретро-блоггер со стажем
Консольщик
Linux Linux
9,6K участников
Вступить
Комментариев пока нет
Оставьте комментарий...
Оставьте комментарий...