El suport de Skia va ser afegit WebKitGTK i WPEWebKit per al renderitzat de gràfics 2D

Skia Logo

Skia és una biblioteca de gràfics 2D de codi obert

Al món del desenvolupament de navegadors web i entorns descriptori, loptimització i el rendiment són una de les característiques més demandades per part dels usuaris i és que aquests són aspectes crítics que influeixen directament en lexperiència de lusuari i uns dels principals factors al moment de triar un navegador web.

En aquest context, els equips de desenvolupament darrere de WPEWebKit i WebKitGTK (el motor de navegador utilitzat en navegadors com Safari i Epiphany/GNOME Web), han incorporat la capacitat de fer servir la biblioteca Skia per al renderitzat de gràfics 2D.

Durant els últims anys, els desenvolupadors de WebKit han estat treballant àrduament per millorar el rendiment gràfic de WebKitGTK i WPEWebKit. Encara quee s'han implementat característiques com el renderitzat per subprocessos i VSync, i va quedar clar que el renderitzador 2D basat en CPU havia assolit els seus límits en termes de rendiment i eficiència. S'esmenta que van explorar diverses opcions abans d'optar per Skia. Els intents d'afegir capacitats de renderització de GPU 2D a la biblioteca Cairo, utilitzada per WebKitGTK, no van tenir èxit a causa de limitacions a l'arquitectura de la biblioteca. A més, un projecte per desenvolupar una biblioteca de renderitzat personalitzada es va abandonar a causa de les dificultats per assolir un equilibri entre el rendiment i la qualitat del renderitzat.

Hi va haver un intent de fer que Cairo admetés la renderització de GPU, cosa que no va funcionar particularment bé pel fet que la biblioteca estava dissenyada al voltant d'una operació amb estat basada en el model PostScript, cosa que va resultar en una API convenient i familiar, amb una excel·lent qualitat de sortida, però difícil de reorientar i amb alguns casos de cantonada particularment lents. Mentrestant, altres motors web han traslladat més feina a la GPU, inclòs el renderitzat 2D, on moltes operacions són considerablement més ràpides

Encara que la idea d'utilitzar Skia inicialment va ser rebutjada a causa de problemes amb l'estabilitat de l'API, el seu ús com a dependència externa i la necessitat de mantenir un mòdul de tercers a WebKit, finalment es va considerar com la solució òptima per millorar el rendiment del renderitzat gràfic a WebKitGTK.

Skia és una biblioteca de gràfics utilitzada en diversos productes de Google, com Chrome, Firefox, ChromeOS, Android i Flutter. Aquesta addició permet el renderitzat amb l'ús de la GPU, cosa que pot millorar significativament el rendiment de la representació gràfica.

La migració cap a Skia va ser realitzada per Igalia com a part d'una iniciativa per optimitzar el rendiment de WebKitGTK per al GNOME. S'esmenta que el motiu principal darrere aquesta migració va ser assolir un límit en el procés d'optimització del rendiment de renderitzat 2D utilitzant la CPU. Utilitzar la GPU proporciona una capacitat addicional per millorar el rendiment de la representació gràfica.

El procés de transició a Skia va començar amb proves internes el desembre del 2023 i els resultats inicials van ser impressionants, ja que de primer moment es van observar millores significatives en el rendiment, especialment a l'escriptori. A mesura que avançaven les proves, es va fer evident que Skia no només oferia un rendiment superior, sinó que també simplificaria el codi i obriria la porta a noves funcionalitats.

Al febrer de 2024, després d'un intens període de desenvolupament i proves, la implementació de Skia va aconseguir un estat «upstreamable», el que significa que estava llest per ser integrat a WebKitGTK i WPEWebKit de manera pública, de manera que la resposta inicial de la comunitat de desenvolupadors va ser positiva, la qual cosa va marcar una fita important en el procés de transició.

L'equip es compromet a futur a continuar millorant la implementació de Skia a WebKitGTK i WPEWebKit, amb plans d'optimitzar encara més el rendiment i l'eficiència del renderitzat de GPU. Tot i que actualment l'enfocament és al port WPE, s'espera que altres ports, com GTK, també rebin suport de Skia en el futur.

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls al següent enllaç.


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.