WebKit wechselt zur Verwendung der Skia-Bibliothek für die 2D-Grafikdarstellung

Die von Apple entwickelte Browser-Engine WebKit, die in Browsern wie Safari und Epiphany (GNOME Web) verwendet wird, wechselt zur Verwendung der Skia-Bibliothek für die 2D-Grafikdarstellung. Diese wird in Google Chrome, ChromeOS, Android und Flutter genutzt und unterstützt die GPU-basierte Grafikdarstellung. Der Port wurde von Igalia im Rahmen einer Initiative zur Leistungsoptimierung von WebKitGTK für GNOME durchgeführt. Als Grund für die Migration wird die Erreichung einer Grenze im Prozess der Leistungsoptimierung der 2D-Darstellung mit der CPU und der daraus resultierende Bedarf an GPU-Ressourcen für eine weitere Leistungssteigerung genannt.

Versuche, der Cairo-Bibliothek, die in WebKit verwendet wurde, die Möglichkeit der 2D-Darstellung unter Verwendung von GPU hinzuzufügen, waren aufgrund architektonischer Besonderheiten dieser Bibliothek nicht erfolgreich. Das Projekt zur Entwicklung einer eigenen Rendering-Bibliothek wurde aus Schwierigkeiten bei der Erreichung eines Gleichgewichts zwischen Leistung und Qualität der Darstellung verworfen. Letztendlich kehrten die Entwickler von Igalia zur Idee zurück, die Skia-Bibliothek zu nutzen, die die optimale Lösung war, aber ursprünglich wegen eines instabilen APIs, Problemen mit der externen Abhängigkeit und der Notwendigkeit, ein externes Modul in WebKit zu warten, verworfen wurde.

Die Entscheidung, WebKit auf die Skia-Bibliothek zu migrieren, wurde durch die Erkenntnis begünstigt, dass die mit dem Austausch der Abhängigkeiten verbundenen Nachteile die Vorteile überwiegen würden, die sich nicht nur in einer Verbesserung der Rendering-Leistung äußerten, sondern auch in einer Vereinfachung des Codes und der Erweiterung der Möglichkeiten für die Entwicklung neuer Funktionen. In Bezug auf die Leistung zeigte der erste Port von WebKit auf Skia während der MotionMark-Tests auf PCs eine Verdopplung der Rendering-Geschwindigkeit im Vergleich zum alten Code, der CPU benutzte.

Im Februar 2024 erreichte der auf Skia umgestellte WebKit-Zweig die Betriebsbereitschaft zur Übergabe an den Hauptzweig des WebKit-Code. Nach Diskussionen mit Entwicklern von Google, Sony, Apple und Red Hat wurde entschieden, WebKit von der Cairo-Bibliothek auf Skia umzustellen, und der Code zur Unterstützung von Skia wurde mittlerweile in den Hauptzweig von WebKit übernommen.

Quelle: opennet.ru

60GB SSD 8Gb DDR4