Risultati di ottimisazione di Chromium implementati da u prughjettu RenderingNG

I sviluppatori di Chromium anu riassuntu i primi risultati di u prughjettu RenderingNG, lanciatu 8 anni fà, destinatu à u travagliu cuntinuu per aumentà u rendiment, l'affidabilità è l'estensibilità di Chrome.

Per esempiu, l'ottimisazioni aghjuntu in Chrome 94 paragunatu à Chrome 93 hà risultatu in una riduzione di 8% in a latenza di rendering di pagina è un aumentu di 0.5% in a vita di a bateria. Basatu nantu à a dimensione di a basa d'utilizatori di Chrome, questu rapprisenta un risparmiu globale di più di 1400 anni di tempu CPU ogni ghjornu. Paragunatu à e versioni precedenti, Chrome mudernu rende i grafici più di 150% più veloce è hè 6 volte menu suscettibile à i crash di driver GPU in hardware problematicu.

Trà i metudi implementati per ottene guadagnà di rendiment, avemu nutatu a parallelizazione di l'operazioni di rasterizazione di diversi pixel in u latu di a GPU è una distribuzione più attiva di processori in diversi core di CPU (esecuzione di JavaScript, scrolling di pagina di trasfurmazione, decodificazione di video è immagini, rendering proattivu di cuntenutu). U fattore limitante per a parallelizazione attiva hè a carica crescente nantu à u CPU, chì si riflette da l'aumentu di a temperatura è l'aumentu di u cunsumu di energia, per quessa, hè impurtante per ottene un equilibriu ottimale trà u rendiment è u cunsumu di energia. Per esempiu, quandu si eseguisce nantu à a bateria, pudete sacrificà a velocità di rendering, ma ùn pudete micca sacrificà u processu di scrolling in un filu separatu, postu chì a diminuzione di a risposta di l'interfaccia serà notevule per l'utilizatore.

Tecnulugie implementate in u quadru di u prughjettu RenderingNG cambianu cumplettamente l'approcciu à a cumpusizioni è permettenu di utilizà in modu adattatu diverse tecnulugia per ottimisà i calculi nantu à a GPU è CPU in relazione à parti individuali di e pagine, tenendu in contu e caratteristiche cum'è a risoluzione di u screnu è a freccia di rinfrescante. , è ancu a prisenza in u sistema di supportu per l'API gràfiche avanzate, cum'è Vulkan, D3D12 è Metal. Esempii di ottimisazioni includenu l'usu attivu di caching GPU textures è rendering risultati di parti di pagine web, è ancu di piglià in contu solu l'area di a pagina visibile per l'utilizatore quandu rende (ùn ci hè nunda di rende parti di a pagina web). pagina chì sò cuparti da altri cuntenutu).

Un elementu impurtante di RenderingNG hè ancu di isolà u rendiment quandu si tratta di diverse parti di e pagine, per esempiu, per isolà u calculu assuciatu cù l'annunzii di serviziu in iframes, affissà animazioni, riproduce audio è video, scorri u cuntenutu è eseguisce JavaScript.

Risultati di ottimisazione di Chromium implementati da u prughjettu RenderingNG

Tecniche di ottimisazione implementate:

  • Chrome 94 offre u mecanismu CompositeAfterPaint, chì furnisce a cumpusizioni di parti di e pagine web rendite separatamente è permette di scala dinamicamente a carica nantu à a GPU. Sicondu i dati di telemetria di l'utilizatori, u novu sistema di cumpusizioni hà riduciutu a latenza di scorrimentu di 8%, hà aumentatu a risposta di l'esperienza di l'utilizatori da 3%, hà aumentatu a velocità di rendering da 3%, hà riduciutu u cunsumu di memoria GPU da 3%, è allargà a vita di a bateria da 0.5%.
  • GPU Raster, un mutore di rasterizazione di a GPU, hè statu introduttu in tutte e piattaforme in 2020 è hà acceleratu i benchmarks MotionMark da una media di 37% è i benchmarks HTML da 150%. Quist'annu, GPU Raster hè stata rinfurzata cù a capacità di utilizà l'accelerazione GPU-side per renderà l'elementi Canvas, risultatu in una resa di contorni 1000% più veloce è benchmarks MotionMark 1.2 130% più veloci.
  • LayoutNG hè un ridisegnu cumpletu di l'algoritmi di layout di elementi di pagina destinatu à aumentà l'affidabilità è a prevedibilità. U prugettu hè previstu per esse purtatu à l'utilizatori questu annu.
  • BlinkNG - refactoring è pulizia di u mutore Blink, dividendu l'operazioni di rendering in fasi eseguite separatamente per migliurà l'efficienza di caching è simplificà a rendering lazy, tenendu in contu a visibilità di l'uggetti in a finestra. U travagliu hè previstu per esse finitu questu annu.
  • Spostà i gestori di scorrimentu, animazione è decodificazione di l'imaghjini per separà fili. U prugettu hà sviluppatu da 2011 è questu annu hà ottinutu a capacità di esportà trasformazioni CSS animate è animazioni SVG per separà fili.
  • VideoNG hè un mutore efficiente è affidabile per ghjucà video in pagine web. Quist'annu, a capacità di vede u cuntenutu prutettu in a risoluzione 4K hè stata implementata. U supportu HDR hè statu aghjuntu prima.
  • Viz - prucessi separati per a rasterizazione (OOP-R - Raster fora di prucessu) è rendering (OOP-D - Compositore di visualizazione fora di prucessu), separà u rendering di l'interfaccia di u navigatore da u rendering di u cuntenutu di a pagina. U prugettu hè ancu sviluppatu u prucessu SkiaRenderer, chì usa API grafiche specifiche per a piattaforma (Vulkan, D3D12, Metal). U cambiamentu hà permessu di riduce u nùmeru di crashes per i prublemi in i drivers grafichi per 6 volte.

Source: opennet.ru

Add a comment