Vystymosi pasaulyje interneto naršyklės ir darbalaukio aplinkos, optimizavimas ir našumas un,es iš labiausiai pageidaujamų funkcijų vartotojų, ir tai yra kritiniai aspektai, tiesiogiai įtakojantys vartotojo patirtį ir vienas iš pagrindinių veiksnių renkantis interneto naršyklę.
Šiame kontekste, WPEWebKit ir WebKitGTK kūrėjų komandos (naršyklės variklis, naudojamas tokiose naršyklėse kaip Safari ir Epiphany / GNOME Web), turi galimybę naudotis Skia biblioteka 2D grafikai atvaizduoti.
Per pastaruosius metus „WebKit“ kūrėjai sunkiai dirbo, kad pagerintų našumą „WebKitGTK“ ir „WPEWebKit“ grafikas. Norsir funkcijos buvo įdiegtos pvz., sriegiuotas atvaizdavimas ir VSync, ir tapo aišku, kad CPU pagrįstas 2D atvaizdavimo įrenginys pasiekė savo ribas našumo ir efektyvumo požiūriu. Minima, kad prieš pasirinkdami „Skia“ jie ištyrė įvairias galimybes. Bandymai pridėti 2D GPU atvaizdavimo galimybes į Kairo biblioteką, kurią naudoja WebKitGTK, buvo nesėkmingos dėl bibliotekos architektūros apribojimų. Be to, projektas, skirtas sukurti pasirinktinę atvaizdavimo biblioteką, buvo atsisakyta dėl sunkumų, siekiant išlaikyti pusiausvyrą tarp našumo ir atvaizdavimo kokybės.
Buvo bandoma Kairo palaikyti GPU atvaizdavimą, kuris neveikė ypač gerai, nes biblioteka buvo sukurta remiantis būsenos operacija, pagrįsta PostScript modeliu, todėl buvo sukurta patogi ir pažįstama API su puikia išvesties kokybe, bet sunkiai perorientuojama. ir su kai kuriais ypač lėtais kampiniais atvejais. Tuo tarpu kiti žiniatinklio varikliai perkėlė daugiau darbo į GPU, įskaitant 2D atvaizdavimą, kur daugelis operacijų yra žymiai greitesnės.
Nors Idėja naudoti „Skia“ iš pradžių buvo atmesta dėl API stabilumo problemų, jos naudojimo kaip išorinės priklausomybės ir poreikio palaikyti trečiosios šalies modulį WebKit, galiausiai buvo laikomas optimaliu sprendimu pagerinti grafikos atvaizdavimo našumą WebKitGTK.
Skia yra grafikos biblioteka naudojami keliuose „Google“ produktuose, pvz., „Chrome“, „Firefox“, „ChromeOS“, „Android“ ir „Flutter“. Šis papildymas leidžia atkurti naudojant GPU, o tai gali žymiai pagerinti grafikos atvaizdavimo našumą.
Perkėlimą į „Skia“ atliko „Igalia“, vykdydama iniciatyvą optimizuoti „WebKitGTK“, skirtą GNOME, našumą. Paminėta, kad pagrindinė šio perkėlimo priežastis buvo pasiekti ribą optimizuojant 2D atvaizdavimo našumą naudojant CPU. Naudojant GPU suteikiama papildomų galimybių pagerinti grafikos atvaizdavimą.
Perėjimo prie „Skia“ procesas prasidėjo vidiniu testavimu 2023 m. gruodžio mėn ir pradiniai rezultatai buvo įspūdingi, nes iš karto buvo pastebėti reikšmingi našumo patobulinimai, ypač darbalaukyje. Vykstant bandymams tapo aišku, kad „Skia“ ne tik siūlo puikų našumą, bet ir supaprastins kodą bei atvers duris naujoms funkcijoms.
2024 m. vasario mėn., po intensyvaus vystymosi laikotarpio ir testavimas, įgyvendinimas Skia pasiekė „prieštakos“ būseną, Tai reiškia, kad jis buvo paruoštas viešai integruoti į „WebKitGTK“ ir „WPEWebKit“, o pradinis kūrėjų bendruomenės atsakymas buvo teigiamas, o tai žymi svarbų perėjimo proceso etapą.
Komanda yra įsipareigojusi toliau tobulinti „Skia“ diegimą WebKitGTK ir WPEWebKit, planuodama toliau optimizuoti GPU atvaizdavimo našumą ir efektyvumą. Nors šiuo metu daugiausia dėmesio skiriama WPE prievadui, tikimasi, kad ateityje „Skia“ paramos sulauks ir kiti prievadai, tokie kaip GTK.
Pagaliau jei norite sužinoti daugiau apie tai, išsamią informaciją galite patikrinti sekanti nuoroda.