Rezultatet e optimizimit të Chromium, të realizuara nga projekti RenderingNG

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.

Rezultatet e optimizimit të Chromium, të realizuara nga projekti RenderingNG

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

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster