Después de cinco meses de desarrollo se ha dado a conocer el lanzamiento de la nueva versión de la multiplataforma para crear una interfaz gráfica de usuario GTK 4.4.0, version en la cual los desarrolladores destacan mejoras en el renderizador NGL, asi como diversas novedades y correcciones de errores.
GTK 4 se está desarrollando como parte de un nuevo proceso de desarrollo que intenta proporcionar a los desarrolladores de aplicaciones una API estable y compatible durante varios años, que se puede utilizar sin temor a tener que rehacer aplicaciones cada seis meses debido a cambios de API en la próxima rama de GTK.
El renderizador NGL ha seguido experimentando mejoras. Esto incluye aceleraciones, correcciones para renderizado transformado, evitar texturas intermedias enormes y manejo correcto de fuentes de color parcial. Después de un poco de ayuda de los desarrolladores de controladores, NGL ahora funciona correctamente con el controlador de Mali. Estamos planeando eliminar el renderizador GL original en el próximo ciclo.
Fuera de GSK, nuestro código de configuración OpenGL se ha limpiado y simplificado. Dependemos cada vez más de EGL y ahora requerimos EGL 1.4. En X11 usamos EGL, recurriendo a GLX si es necesario. En Windows, usamos WGL de forma predeterminada.
Principales novedades de GTK 4.4
En esta nueva versión que se presenta tal y como se menciona al inicio, de lo que más se destaca son las mejoras continuas en el motor de renderizado NGL que usa OpenGL para lograr un mayor rendimiento al tiempo que reduce la utilización de la CPU. Soporte mejorado para fuentes de color.
La nueva versión incluye optimizaciones de renderizado para dejar de usar grandes texturas intermedias, además del funcionamiento correcto de NGL con un controlador abierto para GPU Mali. El soporte para el antiguo renderizador GL está programado para finalizar en la próxima rama GTK.
Además se ha reorganizado y renombrado las skins incluidas en la composición principal. A partir de ahora, los temas integrados se denominan Default, Default-dark, Default-hc y Default-hc-dark, y el tema de Adwaita se ha movido a libadwaita. Los temas usan una línea discontinua en lugar de una línea ondulada para subrayar los mensajes de error. Se agregó soporte para la selección de texto semitransparente.
Por otra parte se limpió y simplificó el código asociado con la configuración de OpenGL, además de que se ha asegurado que el código para la compatibilidad con OpenGL en GTK funciona correctamente en sistemas con versiones más recientes de controladores propietarios de NVIDIA.
Para acceder a la API de renderizado, la interfaz EGL se considera la principal (los requisitos para la versión EGL se elevan a 1.4). En los sistemas X11, retroceda de EGL a GLX si es necesario. Windows usa WGL de forma predeterminada.
De forma predeterminada, la interfaz de inspección está habilitada, lo que facilita la depuración de aplicaciones GTK. En Windows, GL se usa para reproducir contenido multimedia y la API de WinPointer se usa para trabajar con tabletas y otros dispositivos de entrada.
La implementación incorporada de los métodos de entrada está cerca del comportamiento de IBus al mostrar y procesar secuencias de composición y claves muertas. Tambien podremos encontrar que se agregó la capacidad de usar simultáneamente varias teclas muertas y combinaciones que no conducen a la formación de un carácter Unicode (por ejemplo, «ẅ»).
De los demás cambios que se destacan de la nueva versión:
- Se ha implementado soporte completo para valores de mapeo de claves de 32 bits (keysyms), incluidos los valores Unicode.
- Los datos de Emoji se han actualizado a CLDR 39, lo que desbloquea la capacidad de localizar Emoji para idiomas y configuraciones regionales.
- GdkToplevel agrega soporte para el protocolo de gestos de la barra de título utilizado por GNOME Shell.
- GtkTextView ha mejorado el resaltado de palabras individuales.
- El GtkCheckButton se activa cuando se mueve el foco.
- Los scripts de compilación tienen Gstreamer habilitado de forma predeterminada y el soporte de API Vulkan deshabilitado
Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión de GTK, puedes consultar los detalles en el siguiente enlace.
Fuente: ubunlog