GTK 4.16 вніс багато зміні досить цікаві вдосконалення, де Wayland є однією з головних точок уваги, а також механізми візуалізації та бібліотека GDK.
Нова версія GTK 4.16 приходить через шість місяців розробки, і в цій новій версії вони мають реалізовано кілька важливих покращень, особливо щодо представлення шрифтів і графіки, оскільки опція була додана gtk-font-rendering, який надає більше гнучкості для керування відображенням шрифтів. Користувачі можуть вибрати параметри високого рівня, щоб налаштувати відтворення шрифтів, або використовувати більш детальні параметри, встановивши значення «вручну».
На додаток до цього, Покращення GSK (бібліотека, що відповідає за рендеринг за допомогою OpenGL і Vulkan). Починаючи з цієї версії в середовищах на основі Wayland, движком візуалізації за замовчуванням буде Vulkan. Для інших середовищ або коли ви не бажаєте використовувати Vulkan, GTK продовжуватиме використовувати механізм ngl, який забезпечує реалізацію OpenGL поверх API Vulkan.
Оскільки графічна продуктивність і стабільність механізмів Vulkan і ngl залежать від графічних драйверів, Рекомендовано використовувати останню версію Mesa 24.2 щоб забезпечити більш стабільну роботу.
Використання механізмів апаратного прискорення оптимізовано в системах із віконним менеджером квін, що покращує графічну продуктивність у робочих середовищах на основі KDE. У середовищах, заснованих на Вейленд і квін як композитор, тепер можна використовувати розширення протоколу керування кольором для кращого керування кольором.
Крім того, Покращено створення тем CSS, оскільки тепер це можливо визначати та використовувати змінні в темах на основі CSS. Такі функції, як color(), oklab(), color-mix(), а також різні математичні функції. Також можна визначати кольори відносно (наприклад, регулюючи яскравість або насиченість основного кольору) і встановлювати прозорість за допомогою відсотків.
Також виділено покращення у віджетах, оскільки було додано нову властивість «чорний фон» для віджета GtkGraphicsOffload, який використовується для надсилання вмісту, наприклад відео, безпосередньо через композитор без проходження через GSK рендерер. Віджет GtkPopover отримав покращення обробки зміни розміру та позиціонування, що забезпечує більш плавну роботу користувача під час використання спливаючих зображень у графічних програмах.
Це було реалізовано використання розширення xdg-діалог у Wayland для обробки відображення закріплених діалогових вікон і 6-ї версії об’єкта wl_composer для композиції.
З інші зміни, які виділяються:
- Оптимізовано кешування гліфів і текстур
- Тепер можна створювати поверхні з ідеальною фактурою, повторюючи великі текстурні плитки
- Відтворення тіней було покращено, що надає більш реалістичний і витончений вигляд.
- Додано можливість використання апаратного прискорення для обробки перетворених текстур, наприклад відображення повернутого вмісту на екрані.
- Новий API, заснований на викликах зворотного виклику, було реалізовано для більш ефективного керування поведінкою курсора та налаштуванням у графічних програмах.
- Тепер можна виконувати операції текстурування MIP за допомогою центральний процесор. Це особливо корисно під час переміщення об’єкта далі від камери.
- Додано використання пулу потоків для перетворення кольорів і створення текстур MIP.
- Додано підтримку змінної середовища XDG_ACTIVATION_TOKEN, яка використовується з протоколом xdg-activation-v1. Цей протокол дозволяє одній програмі ефективно та безпечно передавати фокус іншій.
- Додано клас GdkMemoryTextureBuilder, який дозволяє створювати текстурні об’єкти (GdkTexture) із даних, що зберігаються в RAM,
- До інструменту rendernode додано нові команди для завантаження даних через URL-адресу та для маніпулювання текстурами.
- Операцію «Вставити як вузол» додано до інтерфейсу редактора вузлів gtk4, що полегшує маніпулювання вузлами під час розробки графіки та сцен.
- Додано підтримку комбінації клавіш Ctrl-Shift-N для створення каталогів у виборі файлів, покращуючи доступність і зручність використання віджета.
нарешті, якщо ти є цікаво дізнатися про це більше, ви можете перевірити деталі в наступне посилання.