Chromiumi optimeerimise tulemused, mille on ellu viinud RenderingNG projekt.

Chromiumi arendajad on teinud esialgseid kokkuvÔtteid 8 aastat tagasi alustatud RenderingNG projektist, mille eesmÀrk on pidev töö Chrome'i jÔudluse, usaldusvÀÀrsuse ja skaleeritavuse suurendamiseks.

NĂ€iteks Chrome 94 vĂ€ljaandes vĂ”rreldes Chrome 93-ga lisatud optimeerimised vĂ€hendasid lehtede töötlemise viivitusi 8% ja pikendasid aku tööaega 0,5%. Arvestades Chrome'i kasutajate arvu, vĂ€ljenduvad need nĂ€itajad globaalsetes mastaapides iga pĂ€ev ĂŒle 1400 aasta protsessoriajavĂ”idu kokkuhoidus. Kaasaegne Chrome joonistab graafikat ĂŒle 150% kiiremini ja on 6 korda vĂ€hem kalduv GPU-draiverite kokkuvarisemisele probleemsetes seadmetes vĂ”rreldes varasemate aastate versioonidega.

Teostatud meetodite seas, mis aitavad saavutada jĂ”udluse kasvu, on mĂ€rgitud, et GPU kĂŒljest erinevate pikslite rasteriseerimise operatsioonide paralleelne töötlemine ja töötlejate aktiivsem jaotamine erinevatele CPU tuumadele (JavaScripti tĂ€itmine, lehe kerimise töötlemine, video ja piltide dekodeerimine, sisu eeltöötlus). Aktiivse paralleelimise piiravaks teguriks on CPU koormuse suurenemine, mis kajastub temperatuuri tĂ”usus ja energiatarbimise suurenemises, seetĂ”ttu on oluline saavutada optimaalne tasakaal jĂ”udluse ja energiatarbimise vahel. NĂ€iteks akutoitel töötades vĂ”ib renderdamise kiirusest loobuda, kuid lehe kerimise eraldi lĂ”imes töötlemist ei tohi kĂ”rvale heita, kuna kasutajale on reageerimisvĂ”ime vĂ€henemine selgelt tuntav.

RenderingNG projekti raames rakendatud tehnoloogiad muudavad tugevasti lĂ€henemist kompositing'ule ning vĂ”imaldavad paindlikult kasutada erinevaid GPU ja CPU arvutusvĂ”imsuse optimeerimise tehnoloogiaid, lĂ€htudes lehekĂŒlgede erikĂŒsimustest, nagu resolutsioon ja ekraani vĂ€rskendussagedus, samuti sĂŒsteemi toe olemasolust edasijĂ”udnud graafiliste API-de, nagu Vulkan, D3D12 ja Metal jaoks. Optimeerimise nĂ€idetena tuuakse vĂ€lja GPU tekstuuride ja web-lehekĂŒlgede osade renderdamise tulemuste aktiivne vahemĂ€lu kasutamine, samuti renderdamisel arvestamine ainult neid lehealasid, mis on kasutajale nĂ€htavad (pole mĂ”tet renderdada lehe osi, mida katab muu sisu).

RenderingNG oluline element on ka jĂ”udluse isoleerimine erinevate lehekĂŒlgede osade töötlemisel, nĂ€iteks reklaami kuvamisega seotud arvutuste isoleerimine iframe blokis, animatsioonide esitamine, heli ja video esitamine, sisu kerimine ja JavaScripti teostamine.

Chromiumi optimeerimise tulemused, mille on ellu viinud RenderingNG projekt.

Rakendatud optimeerimise tehnikad:

  • Chrome 94 toob sisse CompositeAfterPaint mehhanismi, mis vĂ”imaldab komposiitide eraldi renderdatud veebilehe osade renderdamist ja vĂ”imaldab dĂŒnaamiliselt skaleerida GPU koormust. Kasutajatelt saadud telemeetriateabe pĂ”hjal vĂ”imaldas uus komposiitide sĂŒsteem vĂ€hendada kerimise latentsust 8%, tĂ”sta kasutajaliidese vastuvĂ”tlikkust 3%, suurendada joonistamise kiirus 3%, vĂ€hendada GPU mĂ€lutarbimist 3% ja pikendada autonoomset tööaega 0,5%.
  • GPU Raster — GPU poolne rasterdamismehhanism, mis viidi kĂ”igil platvormidel sisse 2020. aastal ja mis kiirendas MotionMarki teste keskmiselt 37%, HTMLiga seotud kategooriates aga 150%. Sel aastal tĂ€iendati GPU Rasterit vĂ”imalusega kasutada GPU kiirendust Canvas elementide renderdamiseks, mis viis kontuuride renderdamise kiiruseni 1000% ning MotionMark 1.2 testide lĂ€bimise kiiruseni 130%.
  • LayoutNG — tĂ€iustatud algoritmide uuendus, mille eesmĂ€rk on suurendada lehekĂŒlje elementide paigutuse usaldusvÀÀrsust ja ennustatavust. Projekti on plaanis kasutajateni toimetada sel aastal.
  • BlinkNG — Blink'i mootori refaktoreerimine ja puhastamine, eraldades joonistamise operatsioonid eraldi etappideks, et suurendada vahemĂ€lu tĂ”husust ja lihtsustada viivitust joonistamist, arvestades nĂ€htavust objektide aknas. Töö plaanitakse lĂ”petada sel aastal.
  • Rullimise, animatsioonide ja piltide dekodeerimise töötlejate eraldamine eraldi lĂ”ime. Projekt on arenenud alates 2011. aastast ja saavutas sel aastal vĂ”ime eraldada eraldi lĂ”imed animatsioonide CSS-ĂŒleminekute ja SVG animatsioonide jaoks.
  • VideoNG — tĂ”hus ja usaldusvÀÀrne videomootor veebilehtede jaoks. Sel aastal on rakendatud vĂ”imalus kaitstud sisu kuvamiseks 4K resolutsiooniga. Varasemalt lisati HDR toetus.
  • Viz — eraldi protsessid rasteriseerimiseks (OOP-R — Out-of-process Raster) ja joonistamiseks (OOP-D — Out of process display compositor), mis eraldavad brauseri kasutajaliidese joonistamise lehe sisu joonistamisest. Projekt arendab ka SkiaRendererit, mis kasutab erinevate platvormide spetsiifilisi graafika API-sid (Vulkan, D3D12, Metal). Muudatus on vĂ”imaldanud kuue korra vĂ”rra vĂ€hendada krahhide arvu, mis on tingitud graafikadraiverite probleemidest.

Allikas: opennet.ru

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster