WPE WebKit 2.54 simplifica su arquitectura gráfica y gana margen en dispositivos embebidos - Conquense Dev
ESEN

← Volver a las noticias

webkit

WPE WebKit 2.54 simplifica su arquitectura gráfica y gana margen en dispositivos embebidos

La nueva versión estabiliza WPEPlatform y sustituye TextureMapper por un compositor basado en Skia, con mejoras de mantenimiento, composición y uso de GPU.

Un cambio de base, no solo una lista de APIs

WPE WebKit 2.54 llega con dos cambios estructurales. WPEPlatform pasa a ser una API estable y activada por defecto, mientras que el compositor del proceso web abandona TextureMapper y adopta Skia. WPE es el port de WebKit orientado a dispositivos embebidos, por lo que estas decisiones afectan especialmente a navegadores integrados en equipos con memoria, GPU y opciones de despliegue más limitadas que un ordenador convencional.

La estabilización de WPEPlatform reduce trabajo en el lado del integrador. Con la API anterior, una aplicación debía crear un backend de vista y encargarse mediante callbacks de parte de la gestión de buffers, renderizado y entrada. La nueva API desplaza esas responsabilidades hacia WebKit y la implementación de plataforma. En el caso habitual, el programa puede construir un WebKitWebView y dejar que WebKit seleccione la plataforma adecuada. Solo las necesidades específicas, como controlar eventos de bajo nivel o fijar una plataforma concreta, requieren usar la API adicional.

Ese cambio también mejora la portabilidad. La implementación para Android puede vivir fuera del árbol principal de WebKit y presentar el sistema de pantalla como otra plataforma WPE. La nueva API de gestión de procesos elimina además una dependencia que impedía que una compilación basada exclusivamente en WPEPlatform funcionara en Android. Para los mantenedores, reducir código de integración es una mejora de mantenibilidad tan relevante como añadir una función nueva.

Skia y el coste de dibujar menos

El nuevo compositor expresa la composición como llamadas de dibujo de Skia. Las teselas pueden grabarse en listas de visualización diferidas y reproducirse desde el hilo del compositor, de modo que los hilos que pintan no tienen que tocar directamente la GPU. La pintura por lotes agrupa capas compatibles y evita operaciones de recorte innecesarias. El mismo diseño facilita filtros, máscaras y modos de mezcla CSS, y deja abierta una ruta más sencilla hacia Vulkan.

La otra pieza es el seguimiento del daño. El compositor limita cada dibujo a los rectángulos que han cambiado desde el frame anterior. En una página real, normalmente solo una parte pequeña de la pantalla se mueve; evitar repintar el resto reduce trabajo por frame. WPE también corrige sincronizaciones entre los hilos principal, de desplazamiento y de composición, y permite que más animaciones se ejecuten fuera del hilo principal.

Los resultados publicados por Igalia deben leerse como mediciones de su panel sobre Raspberry Pi 4, no como una garantía universal. Comparadas con revisiones anteriores basadas en TextureMapper, las puntuaciones de MotionMark suben alrededor de un 36 por ciento y las del escenario centrado en composición cerca de un 45 por ciento. El dato técnico más útil es que la mejora llega junto con menor carga de GPU, algo especialmente valioso en hardware embebido.

La versión también activa Temporal, JSPI de WebAssembly, streams transferibles y otras capacidades de plataforma. Pero su enseñanza principal es más general: una simplificación arquitectónica puede convertirse en una mejora de rendimiento cuando permite compartir infraestructura, evitar trabajo redundante y mantener los límites entre hilos bajo control.