Zhvilluesit e Chromium kanë bërë një përmbledhje të parë të projektit RenderingNG, i nisur 8 vjet më parë, i cili ka si qëllim të punojë vazhdimisht për rritjen e performancës, besueshmërisë dhe shkallëzueshmërisë së Chrome.
Për shembull, optimizimet e shtuara në lëshimin e Chrome 94 në krahasim me Chrome 93 lejuan një reduktim prej 8% të vonesave gjatë përpunimit të faqeve dhe një rritje prej 0.5% të kohës së përdorimit nga bateria. Duke marrë parasysh madhësinë e bazës së përdoruesve të Chrome, këto tregues në një shkallë globale përkthehen në kursim më shumë se 1400 vjet kohë procesori çdo ditë. Krahasuar me versionet e kaluara, Chrome moderne rendit grafikat më shpejt me më shumë se 150% dhe është 6 herë më pak i prirur për rrëzime në GPU-të e problemeve të pajisjeve.
Mes metodave të realizuara për të arritur një rritje të performancës, vëreni paralelizimin e operacioneve të rasterizimit të pikseleve të ndryshme në anën e GPU-së dhe ndarjen më aktive të përpunuesve në bërthamë të ndryshme të CPU-së (ekzekutimi i JavaScript, përpunimi i rrokullisjes së faqes, dekodimi i videove dhe imazheve, parapërgatitja e përmbajtjes). Një faktor kufizues në paralelizimin aktiv është rritja e ngarkesës në CPU, e cila reflektohet në rritjen e temperaturës dhe rritjen e konsumit të energjisë, prandaj është e rëndësishme të arrihet një ekuilibër optimal midis performancës dhe konsumit të energjisë. Për shembull, gjatë funksionimit me bateri, mund të sakrifikohet shpejtësia e vizatimit, por nuk mund të sakrifikohet përpunimi i rrokullisjes në një rrjedhë të veçantë, pasi ulja e përgjigjes së ndërfaqes do të bëhet e dukshme për përdoruesin.
Teknologjitë e realizuara në kuadër të projektit RenderingNG ndryshojnë plotësisht qasjen ndaj kompozimin 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 rifreshimit të ekranit, si dhe praninë në sistem të mbështetjes për API-të e avancuara grafike, si Vulkan, D3D12 dhe Metal. Si shembuj optimizimesh, përmendet përdorimi aktiv i memorizimit të teksteve në GPU dhe rezultateve të vizatimit të pjesëve të faqeve web, si dhe marrja në konsideratë vetëm e zonës së faqes, e cila është e dukshme për përdoruesin (nuk ka kuptim të kryhet vizatimi i pjesëve 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 të izoluar llogaritjet e lidhura me shfaqjen e reklamave në blloqet iframe, shfaqjen e animacioneve, luajtjen e tingujve dhe videove, rrotullimin e përmbajtjes dhe ekzekutimin e JavaScript-it.

Teknikat e realizuara të optimizimit:
- Në Chrome 94 është propozuar mekanizmi CompositeAfterPaint, i cili siguron kompozimin e pjesëve të vizatuara të faqeve web ndaras dhe lejon rritjen dinamike të ngarkesës në GPU. Sipas të dhënave të mbledhura nga përdoruesit përmes telemetrisë, përdorimi i sistemit të ri të kompozimit ka reduktuar vonesat gjatë rrotullimit me 8%, ka rritur përgjegjshmërinë e ndërveprimit me përdoruesin me 3%, ka rritur shpejtësinë e vizatimit me 3%, ka ulur konsumin e memories GPU me 3% dhe ka rritur kohën e qëndrueshmërisë me 0.5%.
- GPU Raster â mekanizmi i rasterizimit anĂ«sor tĂ« GPU-sĂ«, u implementua pĂ«r tĂ« gjitha platformat nĂ« vitin 2020 dhe lehtĂ«soi kalimin e testeve MotionMark mesatarisht me 37%, ndĂ«rsa kategoritĂ« e lidhura me HTML me 150%. NĂ« kĂ«tĂ« vit, GPU Raster u pasurua me mundĂ«sinĂ« e pĂ«rdorimit tĂ« akcelerimit anĂ«sor tĂ« GPU-sĂ« pĂ«r vizatimin e elementeve Canvas, qĂ« rezultoi nĂ« njĂ« rritje tĂ« vizatimit tĂ« kontureve me 1000% dhe pĂ«rfundimin e testeve MotionMark 1.2 me 130%.
- LayoutNG â njĂ« rishikim i plotĂ« i algoritmeve tĂ« vendosjes sĂ« elementeve tĂ« faqeve, me qĂ«llim tĂ« rritjes sĂ« besueshmĂ«risĂ« dhe parashikueshmĂ«risĂ«. Projekti planifikohet tĂ« vihet nĂ« dispozicion pĂ«r pĂ«rdoruesit nĂ« kĂ«tĂ« vit.
- BlinkNG â ristrukturimi dhe pastrimi i motorit Blink me ndarjen e operacioneve tĂ« vizatimit nĂ« faza tĂ« kryera veçmas pĂ«r tĂ« rritur efikasitetin e memorizimit dhe pĂ«r tĂ« thjeshtuar vizatimin e vonuar duke marrĂ« parasysh dukshmĂ«rinĂ« e objekteve nĂ« dritare. Puna planifikohet tĂ« pĂ«rfundojĂ« nĂ« kĂ«tĂ« vit.
- Shkëputja në rrjedha të veçanta të përpunuesve të rrotullimit, animacioneve dhe dekodimit të imazheve. Projekti po zhvillohet që nga viti 2011 dhe në këtë vit arriti mundësinë e shkëputjes në rrjedha të veçanta për transformimet animuese CSS dhe animacionin SVG.
- VideoNG â njĂ« motor efikas dhe i besueshĂ«m pĂ«r luajtjen e videove nĂ« faqet web. NĂ« kĂ«tĂ« vit realizohet mundĂ«sia e shfaqjes sĂ« pĂ«rmbajtjes sĂ« mbrojtur me rezolucion 4K. MĂ« parĂ« ishte shtuar mbĂ«shtetje pĂ«r HDR.
- Viz â procese tĂ« veçanta pĂ«r rasterizim (OOP-R â Rasterizim jashtĂ« procesit) dhe pĂ«r pĂ«rshkrimin (OOP-D â PjesĂ« pĂ«rshkruese jashtĂ« procesit), qĂ« ndajnĂ« pĂ«rshkrimin e ndĂ«rfaqes sĂ« shfletuesit nga pĂ«rshkrimi i pĂ«rmbajtjes sĂ« faqeve. Projekti gjithashtu zhvillon procesin SkiaRenderer, qĂ« pĂ«rdor API grafike specifike pĂ«r platforma tĂ« ndryshme (Vulkan, D3D12, Metal). Ky ndryshim ka lejuar tĂ« ulet numri i çarjeve nga problemi nĂ« drivarĂ«t grafikĂ« gati 6 herĂ«.
Burimi: opennet.ru
