De door Apple ontwikkelde browserengine WebKit, die wordt gebruikt in browsers zoals Safari en Epiphany (GNOME Web), schakelt over op het gebruik van de Skia-bibliotheek voor 2D-graphics, die wordt toegepast in Google Chrome, ChromeOS, Android en Flutter, en die GPU-gebaseerde rendering ondersteunt. De portering is uitgevoerd door Igalia als onderdeel van een initiatief om de prestaties van WebKitGTK voor GNOME te optimaliseren. De reden voor de migratie is het bereiken van de grens in de optimalisatie van de 2D-rendering met behulp van CPU, en de noodzaak om GPU in te schakelen voor verdere prestatieverbetering.
Pogingen om ondersteuning voor 2D-rendering met GPU toe te voegen aan de Cairo-bibliotheek, die in WebKit werd gebruikt, waren niet succesvol vanwege de architecturale beperkingen van deze bibliotheek, en het idee om een eigen renderbibliotheek te ontwikkelen werd verworpen wegens de moeilijkheid om een balans te vinden tussen prestatie en renderkwaliteit. Uiteindelijk keerden de ontwikkelaars van Igalia terug naar het idee om de Skia-bibliotheek te gebruiken, die de optimale oplossing bleek te zijn, maar aanvankelijk was afgewezen vanwege het ontbreken van een stabiele API, problemen met gebruik als externe afhankelijkheid en de noodzaak om een extern moduul in WebKit te onderhouden.
De beslissing om WebKit naar de Skia-bibliotheek te migreren werd geholpen doordat de nadelen die samenhangen met de vervangingen van afhankelijkheden de voordelen overstegen, die niet alleen bestonden uit een verhoogde renderingprestaties, maar ook uit een vereenvoudiging van de codebase en uitbreiding van mogelijkheden voor de ontwikkeling van nieuwe functionaliteit. Wat betreft prestaties, toonde de initiƫle port van WebKit naar Skia bij de MotionMark-tests op PC een verdubbeling van de renderingprestaties in vergelijking met de oude code die CPU gebruikte.
In februari 2024 bereikte de WebKit-tak die naar Skia was gemigreerd de gereedheid voor overdracht naar de hoofdcodebase van WebKit. Na overleg met ontwikkelaars van Google, Sony, Apple en Red Hat werd besloten om WebKit van de Cairo-bibliotheek naar Skia over te zetten, en momenteel is de code ter ondersteuning van Skia al geaccepteerd in de hoofdvertakking van WebKit.
Bron: opennet.ru
