Přidána podpora Skia WebKitGTK a WPEWebKit pro vykreslování 2D grafiky

Logo Skia

Skia je open source 2D grafická knihovna

Ve světě rozvoje webové prohlížeče a desktopová prostředí, optimalizace a výkon jsou una z nejžádanějších funkcí ze strany uživatelů a to jsou kritické aspekty, které přímo ovlivňují uživatelskou zkušenost a jeden z hlavních faktorů při výběru webového prohlížeče.

V tomto kontextu, vývojové týmy za WPEWebKit a WebKitGTK (prohlížeč používaný v prohlížečích jako Safari a Epiphany/GNOME Web), začlenili možnost používat knihovnu Skia pro vykreslování 2D grafiky.

Během posledních let Vývojáři WebKit usilovně pracovali na zlepšení výkonu Graf WebKitGTK a WPEWebKit. Ačkolia funkce byly implementovány jako je vykreslování ve vláknech a VSynca bylo jasné, že 2D renderer na bázi CPU dosáhl svých limitů z hlediska výkonu a efektivity. Uvádí se, že předtím, než se rozhodli pro Skia, prozkoumali různé možnosti. Pokusy přidat možnosti vykreslování 2D GPU do knihovny Cairo, kterou používá WebKitGTK, byly neúspěšné kvůli omezením v architektuře knihovny. Kromě toho byl projekt vývoje vlastní knihovny vykreslování opuštěn kvůli potížím při hledání rovnováhy mezi výkonem a kvalitou vykreslování.

Došlo k pokusu, aby Káhira podporovala vykreslování GPU, což nefungovalo příliš dobře, protože knihovna byla navržena pro stavovou operaci založenou na modelu PostScript, což vedlo k pohodlnému a známému rozhraní API s vynikající kvalitou výstupu, ale obtížně se přeorientovalo. as některými zvláště pomalými rohovými pouzdry. Mezitím jiné webové stroje přesunuly více práce na GPU, včetně 2D vykreslování, kde je mnoho operací podstatně rychlejších.

Ačkoli Myšlenka použití Skia byla zpočátku zamítnuta kvůli problémům se stabilitou API, jeho použití jako externí závislosti a potřebě udržovat modul třetí strany ve WebKitu, bylo nakonec považováno za optimální řešení zlepšit výkon vykreslování grafiky ve WebKitGTK.

Skia je grafická knihovna používá se v několika produktech Google, jako je Chrome, Firefox, ChromeOS, Android a Flutter. Tento doplněk umožňuje vykreslování pomocí GPU, což může výrazně zlepšit výkon vykreslování grafiky.

Migraci na Skia provedla společnost Igalia jako součást iniciativy k optimalizaci výkonu WebKitGTK pro GNOME. Uvádí se, že hlavním důvodem této migrace bylo dosažení limitu v procesu optimalizace výkonu 2D vykreslování pomocí CPU. Použití GPU poskytuje další možnosti pro zlepšení výkonu vykreslování grafiky.

Proces přechodu na Skia začal interním testováním v prosinci 2023 a počáteční výsledky byly působivé, protože výrazné zlepšení výkonu bylo vidět hned, zejména na desktopu. Jak testování postupovalo, bylo jasné, že Skia nenabízí pouze vynikající výkon, ale také zjednoduší kód a otevře dveře novým funkcím.

V únoru 2024, po intenzivním období vývoje a testování, provádění Skia dosáhla stavu „upstreamable“, což znamená, že byl připraven k veřejné integraci do WebKitGTK a WPEWebKit, s čímž byla počáteční reakce vývojářské komunity pozitivní, což znamenalo důležitý milník v procesu přechodu.

Tým je odhodlán pokračovat ve zdokonalování implementace Skia ve WebKitGTK a WPEWebKit i nadále s plány na další optimalizaci výkonu a efektivity vykreslování GPU. Přestože se v současné době zaměřujeme na port WPE, očekává se, že v budoucnu dostanou podporu od společnosti Skia i další porty, například GTK.

Konečně pokud máte zájem o tom vědět více, můžete zkontrolovat podrobnosti v další odkaz.


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Za data odpovídá: AB Internet Networks 2008 SL
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.