GTK 4.2.0 llega con mejoras de rendimiento, para el renderizado, Meson y mas
Después de tres meses de desarrollo se presentó el lanzamiento de la nueva versión del kit de herramientas multiplataforma para crear una interfaz gráfica de usuario GTK 4.2.0 en la cual se implementaron cerca de 1268 cambios individuales de 54 desarrolladores y se agregaron un total de 73950 líneas y se eliminaron 60717.
La nueva rama de 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.
¿Qué hay de nuevo en GTK 4.2.0?
Esta nueva versión de GTK 4.2.0 corrige principalmente errores e introduce mejoras de API basadas en los comentarios de los desarrolladores que han portado sus programas a GTK4.
Además, de que algunas de las mejoras más notables en GTK 4.2 incluyen el renderizador NGL, un nuevo motor de renderizado a través de OpenGL que está habilitado de forma predeterminada en Linux, Windows y macOS. El renderizador NGL proporciona un mejor rendimiento notable con mejoras en los fotogramas por segundo, así como en el uso de energía y CPU. Para volver al motor de renderizado anterior, inicie la aplicación con la variable de entorno GSK_RENDERER=gl.
Esta versión es el resultado de la ronda inicial de comentarios de los desarrolladores de aplicaciones que migran sus proyectos a GTK4, por lo que principalmente consiste en correcciones de errores y mejoras en la API, pero también agregamos nuevas funciones, como un nuevo renderizador GL; varias mejoras en la forma en que el kit de herramientas maneja la composición y las secuencias de teclas muertas; crear mejoras en el sistema para compilar GTK en Windows y macOS; y una referencia de API completamente nueva, generada a partir de los mismos datos de introspección que también consumen los enlaces de lenguaje.
También se destaca en el anuncio de esta nueva versión de GTK 4.2.0 que se implementó la capacidad de usar GTK en forma de subproyecto en el sistema de compilación Meson, lo que le permite compilar GTK y todas sus dependencias como parte del entorno de compilación de su propia aplicación, así como obtener todos los artefactos de compilación para entrega junto con su aplicación utilizando el kit de herramientas seleccionado.
La documentación de la API ha sido rediseñada, para cuya formación se utiliza el nuevo generador gi-docgen, que produce una presentación de información más conveniente, incluidos botones para agregar ejemplos de código al portapapeles, una representación visual de la jerarquía de ancestros e interfaces de cada clase, una lista de propiedades heredadas, señales y métodos de la clase.
Por otra parte la interfaz admite la búsqueda del lado del cliente y se adapta automáticamente a diferentes tamaños de pantalla, además de que se ha lanzado un nuevo sitio, docs.gtk.org, para documentación, que también ofrece guías complementarias sobre introspección GObject, Pango y GdkPixbuf.
También se optimizó el rendimiento de varios componentes, desde los sombreadores GLSL involucrados en el renderizado hasta objetos para personas con discapacidades.
De los demás cambios que se destacan de esta nueva versión:
- Se modificó el manejo de las secuencias de composición y las teclas de silencio que cambian la apariencia del siguiente carácter de entrada.
- Soporte mejorado para compilar GTK para Windows y macOS usando kits de herramientas nativos para estas plataformas.
- Se implementó el posicionamiento de texto de subpíxeles al usar nuevas versiones de la biblioteca de El Cairo .
- Proporcionó un diseño de interfaz receptivo para la selección de emoji.
- Soporte mejorado para la extensión del protocolo Wayland para control de entrada.
- Rendimiento de desplazamiento mejorado en el widget de vista de texto.
- Representación mejorada de sombras en widgets popover.
- Pango y GdkPixbuf también cambiaron a gi-docgen
- Mejoras de rendimiento en todos los ámbitos
Finalmente si estás interesado en conocer más al respecto sobre esta nueva versión liberada, puedes consultar los detalles en el siguiente enlace.