Hirdetés

Hardveresen gyorsítva jeleníti meg a weboldalakat a TyGL

Az idei SIGGRAPH alkalmával az ARM és a Samsung egy olyan szoftveres technológiát mutatott be, amelynek fejlesztésében a Szegedi Tudományegyetem is részt vett. A TyGL koncepciója egy nagyszerű ötletre épül, és lényegesen megnövelheti a jelenleg használt mobil eszközök üzemidejét a különböző weboldalak böngészése közben.

Az ARM szerint a HTML5 terjedésével egyre nagyobb problémát jelent a grafikailag egyre bonyolultabb weboldalak megjelenítése. A hardverek természetesen képesek leképezni a betöltött oldalt, de a webböngészők még ma is a központi processzoron teszik ezt meg egy szoftveres raszterizáló használatával. Ez önmagában nem gond, viszont nem is hatékony. Egyszerűen azért, mert a központi processzorokat nem tipikusan erre a munkamenetre tervezték, vagyis a leképzés relatíve lassú lesz, illetve viszonylag jelentős mértékben fogyasztja az akkumulátort is. Egy mobil eszköznél nem kell ecsetelni, hogy ez miért rossz, hiszen minden gyártó a nagyobb üzemidőért küzd.

A GPU-s gyorsítás mint opció rögtön adja magát, de ez sem olyan egyértelmű, hiszen ezeket a hardvereket sem kifejezetten a weblapok leképzésére tervezték. Naiv megközelítés esetén a GPU-s leképzés pont olyan rossz lenne, mint a mostani CPU-s, mivel a fixfunkciós rasztermotorok jellemző működése miatt több rajzolási paranccsal kellene számolni, illetve a kevés adat következtében a GPU-k kihasználása is alacsony lenne.

A TyGL a fentebb leírtak következtében egy átdolgozott megoldás a weboldalak leképzésére vonatkozóan, melynek a célja az volt, hogy a feldolgozást teljes mértékben a GPU-hoz legyen optimalizálva. Ehhez az OpenGL ES 2.0-s API került felhasználásra, ami gyakorlatilag teljesen támogatott az ultramobil hardverekben, illetve semmi akadálya annak, hogy a PC-n is natív támogatás szülessen hozzá a gyártók részéről. A rendszer egy új, úgynevezett back-end a Safari, illetve a korábbi Chrome és Opera böngészők által használt WebKit nevű böngészőmotorhoz, de persze az utódnak tekinthető Blink, valamint a Trident és a Gecko motorokhoz is fejleszthető hasonló megoldás.

Az ARM és a Szegedi Tudományegyetem rengeteg weboldalt megvizsgált és kiderült, hogy a processzoridő nagy részét a leképző/rajzoló API veszi el, és ebben a feladatban a GPU-k lényegesen hatékonyabbak lehetnének, ha sikerülne úrrá lenni a szoftveres korlátokon. Utóbbi érdekében a TyGL egy olyan futószalagot vezet be, amely három részre bontja a leképzést.

A TyGL futószalagja
A TyGL futószalagja [+]

A futószalag alapja azonos és OpenGL ES 2.0-n, ezen belül is a fragment shader lépcsőn keresztül gyorsítható, ám kiemelendő, hogy a szövegek, a képek és a hivatkozások más előkészítési fázison mennek keresztül. A képekkel nincs túl sok gond, de a szövegek és a hivatkozások esetében már trükközni kell. A TyGL ezeket alfa csatornát használó képekké transzformálja, amelyek így már hatékonyan feldolgozhatók a GPU-n belül.

Az eredmény is eléggé meggyőző. Az ARM egy Mali-T628-as integrált grafikus vezérlőt használó Chromebookon 1,5-4,5-szeres gyorsulást mért különböző weboldalak betöltésével a manapság használt alternatív back-endekhez viszonyítva, mindeközben az akkumulátor terhelése is csökkent, vagyis a jelentős gyorsulás mellett még az üzemidő is nő.

A TyGL WebKit back-end forráskódja hamarosan publikálva lesz. Remélhetőleg azt vizsgálva mindegyik böngészőmotor fejlesztője elgondolkodik egy hasonló megoldáson, ami a lehető legjobb élményt biztosíthatja a felhasználók számára.

Előzmények

Hirdetés