Zhvilluesit e Chromium kanë përmbledhur rezultatet e para të projektit RenderingNG, i cili u lançua 8 vjet më parë dhe ka si qëllim të rrisë vazhdimisht performancën, besueshmërinë dhe zgjerueshmërinë e Chrome.
Për shembull, optimizimet e shtyra në versionin Chrome 94 krahasuar me Chrome 93 lejuan një ulje prej 8% të vonesave gjatë përpunimit të faqeve dhe rritën me 0.5% kohën e jetës së baterisë. Duke marrë parasysh madhësinë e bazës së përdoruesve të Chrome, këto tregues shprehen në një kursim global prej më shumë se 1400 viteve kohë procesori çdo ditë. Krahasuar me versionet e kaluara, Chrome aktual punon më shpejt për më shumë se 150% dhe është 6 herë më pak i ekspozuar ndaj dështimeve në shoferët GPU në pajisje problematike.
Mes metodave të zbatuara për të arritur një rritje të performancës, u veçua paralelizimi i operacioneve të rasterizimit të pikselave të ndryshëm në anën e GPU dhe shpërndarja më aktive e procesorëve në bërthama të ndryshme të CPU (ekzekutimi i JavaScript, përpunimi i skrollimit të faqes, dekodimi i videove dhe imazheve, parashikimi i vizatimit të përmbajtjes). Një faktor frenues gjatë paralelizimit aktiv është rritja e ngarkesës në CPU, e cila reflekton rritjen e temperaturës dhe rritjen e konsumit të energjisë, prandaj është e rëndësishme të arrihet një balancë optimale midis performancës dhe konsumit të energjisë. Për shembull, gjatë punës nga bateria, mund të hiqet dorë nga shpejtësia e vizatimit, por nuk mund të hiqet dorë nga përpunimi i skrollimit në një proces të veçantë, pasi rënia e ndjeshmërisë së ndërfaqes do të bëhet e dukshme për përdoruesin.
Teknologjitë e zbatuara në kuadër të projektit RenderingNG ndryshojnë plotësisht qasjen ndaj kompozitimit dhe lejojnë angazhimin adaptiv të teknologjive të ndryshme të optimizimit të llogaritjeve në GPU dhe CPU në lidhje me pjesë të veçanta të faqeve, duke marrë parasysh karakteristika të tilla si rezolucioni dhe frekuenca e rifreskimit të ekranit, si dhe praninë në sistem të mbështetjes për API të avancuara grafike, si Vulkan, D3D12 dhe Metal. Si shembuj optimizimi përmenden përdorimi aktiv i memorie së teksteve GPU dhe rezultateve nga vizatimi i pjesëve të faqeve web, si dhe përllogaritja gjatë vizatimit vetëm të zonave të faqes që janë të dukshme për përdoruesin (nuk ka kuptim të vizatohen pjesë të faqes që mbulohen nga përmbajtje të tjera).
Një element i rëndësishëm i RenderingNG është gjithashtu izolimi i performancës gjatë përpunimit të pjesëve të ndryshme të faqeve, për shembull, për izolimin e llogaritjeve të lidhura me shfaqjen e reklamave në blloqe iframe, shfaqjen e animacioneve, riprodhimin e zërit dhe videos, skrollimin e përmbajtjes dhe ekzekutimin e JavaScript.

Teknikat e realizuara të optimizimit:
- Në Chrome 94 u propozua një mekanizëm CompositeAfterPaint, i cili siguron kompozitim të pjesëve të vizatuara ndaras të faqeve web dhe lejon që ngarkesa në GPU të shkallëzohet dinamikisht. Sipas të dhënave të mbledhura nga përdoruesit përmes telemetrisë, aplikimi i sistemit të ri të kompozitimit ka lejuar një ulje të vonesave gjatë skrollimit me 8%, ka përmirësuar ndjeshmërinë gjatë ndërveprimit me përdoruesin me 3%, ka rritur shpejtësinë e vizatimit me 3%, ka ulur konsumimin e memories GPU me 3% dhe ka zgjatur kohën e jetës së baterisë me 0.5%.
- GPU Raster â mekanizmi i rasterizimit nĂ« anĂ«n e GPU, u vendos pĂ«r tĂ« gjitha platformat nĂ« vitin 2020 dhe lejoi qĂ« kalimi nĂ« testet MotionMark tĂ« pĂ«rshpejtohet mesatarisht me 37%, dhe kategoritĂ« qĂ« lidhen me HTML me 150%. KĂ«tĂ« vit GPU Raster u pĂ«rmirĂ«sua me mundĂ«sinĂ« e pĂ«rdorimit tĂ« pĂ«rshpejtimit nĂ« anĂ«n e GPU pĂ«r vizatimin e elementeve Canvas, qĂ« çoi nĂ« njĂ« pĂ«rshpejtim tĂ« vizatimit tĂ« kontureve me 1000% dhe kalimin nĂ« testet MotionMark 1.2 me 130%.
- LayoutNG â njĂ« rishikim i plotĂ« i algoritmeve tĂ« vendosjes sĂ« elementeve tĂ« faqeve, fokusuar nĂ« rritjen e besueshmĂ«risĂ« dhe parashikueshmĂ«risĂ«. Projekti planifikohet tĂ« arrijĂ« te pĂ«rdoruesit kĂ«tĂ« vit.
- BlinkNG â rifaktorizimi dhe pastrimi i motorit Blink me ndarjen e operacioneve tĂ« vizatimit nĂ« faza tĂ« veçanta pĂ«r tĂ« rritur efikasitetin e mbetjes nĂ« memorie dhe pĂ«r tĂ« thjeshtĂ«suar vizatimin e vonuar duke marrĂ« parasysh dukshmĂ«rinĂ« e objekteve nĂ« dritaren. Puna pritet tĂ« pĂ«rfundojĂ« kĂ«tĂ« vit.
- Nxjerrja në procese të veçanta të përpunuesve të skrollimit, animacionit dhe dekodimit të imazheve. Projekti është zhvilluar që nga viti 2011 dhe këtë vit arriti mundësinë e nxjerrjes në procese të veçanta të transformimeve CSS të animuara dhe animacioneve SVG.
- VideoNG â njĂ« motor efikas dhe tĂ« besueshĂ«m pĂ«r riprodhimin e videos nĂ« faqe web. KĂ«tĂ« vit u realizua mundĂ«sia pĂ«r shfaqjen e pĂ«rmbajtjes sĂ« mbrojtur me rezolucion 4K. MĂ« parĂ« u shtua mbĂ«shtetje pĂ«r HDR.
- Viz â procese tĂ« veçanta pĂ«r rasterizimin (OOP-R â Rasterizim jashtĂ« procesit) dhe vizatimin (OOP-D â Kompozitor i vizatimeve jashtĂ« procesit), qĂ« ndajnĂ« vizatimin e ndĂ«rfaqes sĂ« shfletuesit nga vizatimi i pĂ«rmbajtjes sĂ« faqeve. Projekti po zhvillon gjithashtu procesin SkiaRenderer, i cili pĂ«rdor API grafike specifike pĂ«r platforma tĂ« ndryshme (Vulkan, D3D12, Metal). Ky ndryshim ka lejuar njĂ« ulje prej 6 herĂ«sh tĂ« rastĂ«sive pĂ«r shkak tĂ« problemeve me drejtuesit grafikĂ«.
Burimi: opennet.ru
