Apple's WebKit-browsermotor, brûkt yn browsers lykas Safari en Epiphany (GNOME Web), giet oer nei it brûken fan 'e Skia-bibleteek, brûkt yn Google Chrome, ChromeOS, foar it renderjen fan 2D-grafiken. Android en Flutter, en stipet GPU-rendering. De port waard útfierd troch Igalia as ûnderdiel fan it WebKitGTK-prestaasjeoptimalisaasje-inisjatyf foar GNOME. De reden dy't foar de migraasje neamd waard, wie it berikken fan in limyt yn it optimalisearjen fan 2D-renderingprestaasjes mei de CPU, en de needsaak om de GPU te brûken foar fierdere prestaasjesferbetteringen.
Pogingen om 2D GPU-rendering-mooglikheden ta te foegjen oan WebKit's Kairo-bibleteek wiene net slagge fanwegen de arsjitektuer fan 'e bibleteek, en in projekt om in oanpaste rendering-bibleteek te skriuwen waard ferlitten fanwegen de muoite om prestaasjes en renderingskwaliteit te balansearjen. Dêrtroch kamen de ûntwikkelders út Igalia werom op it idee om de Skia-bibleteek te brûken, wat de optimale oplossing wie, mar waard ynearsten ôfwiisd fanwegen it ûntbrekken fan in stabile API, problemen mei gebrûk as eksterne ôfhinklikens en de moatte in module fan tredden yn WebKit ûnderhâlde.
It beslút om WebKit nei de Skia-bibleteek te ferpleatsen waard fasilitearre troch it feit dat de neidielen dy't ferbûn binne mei it ferfangen fan ôfhinklikens de foardielen oerwicht, dy't net allinich útdrukt waarden yn it ferheegjen fan renderingsprestaasjes, mar ek yn it ferienfâldigjen fan de koadebasis en it útwreidzjen fan de mooglikheden foar it ûntwikkeljen fan nije funksjonaliteit. . Wat prestaasjes oanbelanget, toande de earste poarte fan WebKit op Skia twa kear de renderingssnelheid fan âldere koade mei de CPU by it útfieren fan MotionMark-tests op in PC.
Yn febrewaris 2024 wie de WebKit-tûke migrearre nei Skia klear om te wurde oerbrocht nei de haad WebKit-koadebase. Nei diskusjes mei ûntwikkelders fan Google, Sony, Apple en Red Hat, waard it beslút makke om WebKit fan 'e Kairo-bibleteek nei Skia te migrearjen en de koade om Skia te stypjen is no ynsette foar de WebKit-haadline.
Boarne: opennet.ru
