Komoly fejlesztés történt a Firefox böngészőben

A Firefox fejlesztői elszánták az első nagy lépésre magukat annak érdekében, hogy a WebRender a Firefox része legyen.

Szeptember 12-én Jeff Muizelaar fejlesztő engedélyezte a WebRender használatát a Firefox fejlesztői változatában. A Nightly kiadást, 10-es Windows-t, Nvidia illesztőprogramot, nem laptopot használók számára automatikusan bekapcsolásra kerül a WebRender használata. Ez a Nightly felhasználók 17%-át érinti.

A WebRender a Firefox újraírt grafikus backendje, amely a játékprogramokból ismert technológiákat próbálja meg kamatoztatni a böngésző grafikus megjelenítést biztosító folyamataiban. A WebRender megpróbálja használni a GPU-t a feladatok elvégzéséhez, illetve több CPU magot is képes munkára fogni. Ez egy speciális leképző, amely a webes feladatokra van optimalizálva, csak a szükséges műveletek kötegelt, gyorsítótárazott végrehajtását biztosítva. A WebRender, miképpen a Firefox Quantum többi összetevője is, Rust nyelvben íródott.

A történet

Korábban már írtunk arról ,hogy mi is a WebRender, és hogyan segít ez a böngésző teljesítményén.

De a munka itt nem áll meg. A Mozilla mérnökei dolgoznak a WebRender Firefoxba történő integrálásán is. A Servo-ból származtatott, szintén Rust nyelven írt komponens Quantum Render néven érkezik majd a Firefoxba. A WebRender célja, hogy a raszterizálást és kompozitálást, azaz a leképzési folyamat utolsó két lépcsőjét teljesen új alapokra helyezze. Az elkészült alrendszer egy modern számítógépes játék megjelenítési technológiáit építi be a böngészők világába. Ezzel a terhelés nagy része a GPU-ra hárul majd, megteremtve annak a lehetőségét, hogy a böngésző a folyamatos megjelenítést biztosító 60 FPS-t minden körülmények között tarthassa. Erre a példa:

De a WebRender nem csak az általános böngészési feladatokban tesz majd jó szolgálatot, hanem a WebVR esetében a szükséges 4K felbontás melletti 90 FPS elérésében is. A WebRender korai verziója már a Nightly-ban be is kapcsolható az about:config oldalon. Az érdeklődők a fejlesztés nyomon követhetik a GitHub repoban és a Firefox Nightly Twitter-csatornáján. Ebben a cikkben részletes leírás található a WebRender vívmányairól.

A CPU így már leginkább csak menedzselni fogja a kép rajzolását és kompozitálását. A weboldal alapján a CPU összeállítja a szükséges feladatkötegeket, amelyet a GPU fog elvégezni. A GPU ezután a CPU-nál sokkal gyorsabban előállítja a tartalom alapján böngészőben megjelenítendő képet. A nagyobb sebesség a GPU-ban lévő hatalmas párhuzamosításból, a nem látható és egymás fedő területek okos eltávolításából, illetve a rajzolási parancsok összevonásából és kötegelt átadásából származik.

Összefoglalva tehát: a Firefox a pár évvel ezelőtti fő szálban történő leképzéstől:

Firefox - WebRender

már eljutott oda, hogy a leképzés utolsó két fázisa már külön folyamatban van, és 2018-ra a WebRender lévén eljut oda, hogy a rajzolás és kompozitálás nagy részben GPU-n fut majd:

Firefox - WebRender

Egyelőre elmarad a betűkészletek leképzése, mert az a jelenlegi helyzetekben szebben jelenik meg CPU-n elkészítve, de erre is készül megoldás a Pathfinder projekten belül.

Kalandorok maguktól is bekapcsolhatják a WebRender használatát a saját gépük Nightly programjában. Ehhez mindösszesen a „gfx.webrender.all” beállítást kell „true” értékre állítani. A fejlesztők örömmel várják a WebRenderrel kapcsolatos hibabejelentéseket!

A bekapcsolt WebRender ténye az „about:support” oldalon a „WEBRENDER” részben látható. Kellemes hibavadászatot!

Azóta történt

Előzmények