Chromiumi arendajad on teinud esimesi kokkuvÔtteid 8 aastat tagasi algatatud RenderingNG projektist, mis on suunatud pidevale tööle Chrome'i jÔudluse, usaldusvÀÀrsuse ja skaleeritavuse suurendamiseks.
NĂ€iteks Chrome 94 vĂ€ljalaskmisega lisatud optimeerimised, vĂ”rreldes Chrome 93-ga, on lubanud vĂ€hendada lehekĂŒlje töötlemise latentsust 8% ja suurendada aku eluiga 0,5%. Arvestades Chrome'i kasutajaskonna suurust, vĂ€ljenduvad need nĂ€itajad globaalses mastaabis enam kui 1400 aasta protsessorite aega kokkuhoid pĂ€evas. VĂ”rreldes eelnevate aastate versioonidega kuvab kaasaegne Chrome graafikat ĂŒle 150% kiiremini ja on 6 korda vĂ€hem altid GPU draiverite krahhile probleemse riistvara korral.
Tehnoloogiate hulgas, mis on vĂ”imalikud jĂ”udluse suurenemiseks, on esile tĂ”stetud erinevate pikslite rasteriseerimise toimingute paralleelset töötlemist GPU pool ja aktiivsemate töötlemisĂŒlesannete jaotamist erinevatele CPU tuumadele (JavaScripti tĂ€itmine, lehe kerimise töötlemine, video ja piltide dekodeerimine, sisu proaktiivne kuvamine). Aktiivse paralleelse töötlemise piduriteks on CPU koormuse suurenemine, mis peegeldub temperatuuri tĂ”usus ja energiatarbimise suurenemises, seega on oluline saavutada optimaalne tasakaal jĂ”udluse ja energiatarbimise vahel. NĂ€iteks töö sĂŒndikaatide pealt vĂ”ib olla vajalik ohverdada kiirus, kuid ei tohi ohverdada lehe kerimise töötlemist eraldi lĂ”imes, kuna kasutaja tunneb Ă€ra liidese reageerimisvĂ”ime languse.
RenderingNG projekti raames ellurakendatud tehnoloogiad muudavad tĂ€ielikult lĂ€henemise komposiitidele ja vĂ”imaldavad kohandatult rakendada erinevaid GPU ja CPU arvutuste optimeerimise tehnoloogiaid spetsiifiliste lehe osade seostamise alusel, vĂ”ttes arvesse selliseid omadusi nagu ekraani eraldusvĂ”ime ja vĂ€rskendussagedus ning sĂŒsteemi toetavate uusimate graafiliste API-de olemasolu, nagu Vulkan, D3D12 ja Metal. Optimeerimiste nĂ€idetena tuuakse esile GPU tekstuuride ja veebilehtede osade renderdamise tulemuste aktiivne vahemĂ€lustamine, samuti tuleb renderdamisel arvesse vĂ”tta ainult kasutajale nĂ€htavat lehe osa (pole mĂ”tet renderdada lehe osi, mida katab muu sisu).
Oluline element RenderingNG jaoks on ka jÔudluse isoleerimine lehtede erinevate osade töötlemisel, nÀiteks reklaamikoosolekute iframe blokis, animatsioonide kuvamine, heli ja video esitamine, sisu kerimine ning JavaScripti tÀitmine.

Rakendatud optimeerimistehnikad:
- Chrome 94 tutvustas mehhanismi CompositeAfterPaint, mis vĂ”imaldab eraldi joonistatud veebilehtede osade kompositsiooni ja vĂ”imaldab dĂŒnaamiliselt skaleerida GPU koormust. Kasutajate poolt kogutud telemeetria andmete kohaselt vĂ€hendas uue kompositsioonisĂŒsteemi kasutamine kerimise latentsust 8%, parandas kasutaja suhtluse reageerimist 3%, suurendas joonistamise kiirust 3%, vĂ€hendas GPU mĂ€lu kasutust 3% ja pikendas aku tööaega 0,5%.
- GPU Raster â GPU-poolse rasterdamise mehhanism, mis viidi 2020. aastal ellu kĂ”ikidel platvormidel, kiirendas MotionMarki teste keskmiselt 37% ja HTML-iga seotud kategooriates 150%. Sel aastal tĂ€iustati GPU Rasterit, vĂ”imaldades GPU kiirenduse kasutamist Canvas-elementide joonistamisel, mis viis kontuuride joonistamise kiiruseni 1000% ja MotionMark 1.2 testide sooritamise kiiruseni 130%.
- LayoutNG â tĂ€iendav ĂŒmberkujundamine lehtede elementide paigutuse algoritmides, eesmĂ€rgiga suurendada usaldusvÀÀrsust ja ennustatavust. Projekt on kavandatud sellel aastal kasutajateni toimetamiseks.
- BlinkNG â Blink mootori refaktoreerimine ja puhastamine, jagades joonistamise toimingud eraldi etappideks, et parandada vahemĂ€lu tĂ”husust ja lihtsustada viivitusega joonistamist objektide nĂ€htavust arvesse vĂ”ttes. Töö on kavandatud sellel aastal lĂ”petamiseks.
- Kerimise, animatsiooni ja piltide dekodeerimise töötlejate eraldi lÔpuleviimine. Projekt on arenenud alates 2011. aastast ja sel aastal saavutati vÔimalus viia eraldi lÔimede sekka animatsioonilised CSS-muundamised ja SVG animatsioon.
- VideoNG â tĂ”hus ja usaldusvÀÀrne video esitamise mootor veebilehtedel. Sel aastal on ellu viidud 4K-resolutsiooniga kaitstud sisu kuvamise vĂ”imalus. Varasemalt lisati HDR-i tugi.
- Viz â eraldi protsessid rasteriseerimiseks (OOP-R â Out-of-process Raster) ja kuvamiseks (OOP-D â Out of process display compositor), mis eraldavad brauseri kasutajaliidese joonestamise lehekĂŒlgede sisu joonestamisest. Projekti raames arendatakse ka SkiaRenderer protsessi, mis kasutab erinevate platvormide jaoks spetsiifilisi graafikate API-sid (Vulkan, D3D12, Metal). Muudatus vĂ”imaldas kuue korra vĂ”rra vĂ€hendada graafikadraiveritega seotud probleemide tĂ”ttu tekkivate vigu.
Allikas: opennet.ru
