Chrom Optimiséierungsresultater implementéiert vum RenderingNG Projet

Chromium Entwéckler hunn déi éischt Resultater vum RenderingNG Projet zesummegefaasst, viru 8 Joer lancéiert, gezielt fir weider Aarbecht fir d'Performance, d'Zouverlässegkeet an d'Extensibilitéit vu Chrome ze erhéijen.

Zum Beispill, Optimisatiounen, déi am Chrome 94 bäigefüügt ginn am Verglach zum Chrome 93, hunn zu enger Reduktioun vun 8% vun der Säit Rendering Latenz an enger 0.5% Erhéijung vun der Batterieleszäit gefouert. Baséierend op der Gréisst vun der Chrome Benotzerbasis, representéiert dëst eng global Spuerung vun iwwer 1400 Joer CPU Zäit all Dag. Am Verglach mat fréiere Versiounen, mécht modern Chrome Grafike méi wéi 150% méi séier an ass 6 Mol manner ufälleg fir GPU Chauffer Crashen op problematesch Hardware.

Ënnert de implementéierte Methoden fir Leeschtungsgewënn z'erreechen, hu mir d'Parallaliséierung vu Rasteriséierungsoperatioune vu verschiddene Pixel op der GPU Säit an eng méi aktiv Verdeelung vu Prozessoren iwwer verschidden CPU Cores bemierkt (JavaScript ausféieren, Säit Scrollen veraarbecht, Videoen a Biller Decodéieren, proaktiv Rendering vun Inhalt). De limitéierende Faktor fir aktiv Paralleliséierung ass d'Erhéijung vun der Laascht op der CPU, déi duerch steigend Temperaturen a verstäerkten Energieverbrauch reflektéiert gëtt, also ass et wichteg fir en optimalen Gläichgewiicht tëscht Leeschtung a Stroumverbrauch z'erreechen. Zum Beispill, wann Dir op Batterie leeft, kënnt Dir d'Renderingsgeschwindegkeet opferen, awer Dir kënnt d'Scrollveraarbechtung net an engem getrennten Fuedem opferen, well d'Reduktioun vun der Interfacereaktiounsfäegkeet fir de Benotzer merkbar ass.

Technologien, déi am Kader vum RenderingNG-Projet implementéiert ginn, veränneren d'Approche fir d'Kompositioun komplett an erlaben Iech adaptiv verschidden Technologien ze benotzen fir d'Berechnungen op der GPU an der CPU a Bezuch op eenzel Deeler vun de Säiten ze optimiséieren, andeems sou Features wéi Écranopléisung an Erfrëschungsquote berücksichtegt ginn. , wéi och d'Präsenz am System vun der Ënnerstëtzung fir fortgeschratt Grafiken APIen, wéi Vulkan, D3D12 a Metal. Beispiller vun Optimisatiounen enthalen déi aktiv Notzung vun Caching GPU Texturen a Rendering Resultater vun Deeler vun Websäiten, souwéi Rechnung nëmmen de Beräich vun der Säit siichtbar fir de Benotzer wann Rendering (et ass kee Sënn Deeler vun der Rendering. Säit déi vun aneren Inhalt ofgedeckt sinn).

E wichtegt Element vum RenderingNG ass och d'Performance ze isoléieren wann Dir verschidden Deeler vu Säiten veraarbecht, zum Beispill, fir d'Berechnung ze isoléieren, déi mam Déngscht vun Annoncen an iframes assoziéiert, Animatiounen ze weisen, Audio a Video ze spillen, Inhalt ze scrollen an JavaScript auszeféieren.

Chrom Optimiséierungsresultater implementéiert vum RenderingNG Projet

Implementéiert Optimisatiounstechniken:

  • Chrome 94 bitt de CompositeAfterPaint Mechanismus, deen d'Kompositioun vun getrennten renderéierten Deeler vu Websäiten ubitt an Iech erlaabt d'Laascht op der GPU dynamesch ze skaléieren. Laut Benotzer-Telemetrie-Daten huet den neie Compositing-System d'Scrollinglatenz ëm 8% reduzéiert, d'Benotzererfarungsreaktiounsfäegkeet ëm 3% erhéicht, d'Renderingsgeschwindegkeet ëm 3% erhéicht, de GPU-Speicherverbrauch ëm 3% reduzéiert an d'Batteriedauer ëm 0.5% verlängert.
  • GPU Raster, e GPU-Säit Rasteriséierungsmotor, gouf iwwer all Plattformen am Joer 2020 agefouert an huet MotionMark Benchmarks mat engem Duerchschnëtt vun 37% an HTML-relatéierte Benchmarks ëm 150% beschleunegt. Dëst Joer gouf GPU Raster verbessert mat der Fäegkeet fir GPU-Säit Beschleunegung ze benotzen fir Canvas Elementer ze maachen, wat zu 1000% méi séier Kontur Rendering an 1.2% méi séier MotionMark 130 Benchmarks resultéiert.
  • LayoutNG ass e komplette Redesign vun Säit Element Layout Algorithmen fir Zouverlässegkeet an Prévisibilitéit ze erhéijen. De Projet ass geplangt dëst Joer un d'Benotzer bruecht ze ginn.
  • BlinkNG - Refactoring a Botzen vum Blink-Motor, deelt Rendering-Operatiounen an separat ausgefouert Phasen fir d'Cachingeffizienz ze verbesseren an d'Lazy Rendering ze vereinfachen, andeems d'Visibilitéit vun Objeten an der Fënster berücksichtegt gëtt. D'Aarbechte sollen dëst Joer fäerdeg sinn.
  • Beweegt Scrolling, Animatioun a Bilddekodéierungshandler op trennen Threads. De Projet ass zënter 2011 entwéckelt an dëst Joer huet et d'Fäegkeet erreecht fir animéiert CSS Transformatiounen an SVG Animatiounen op getrennte thread z'exportéieren.
  • VideoNG ass en effizienten an zouverléissege Motor fir Video op Websäiten ze spillen. Dëst Joer ass d'Fäegkeet fir geschützte Inhalter an 4K Resolutioun ze weisen ass implementéiert. HDR Support gouf virdru bäigefüügt.
  • Viz - getrennte Prozesser fir Rasteriséierung (OOP-R - Out-of-process Raster) a Rendering (OOP-D - Out of Process Display Compositor), trennt d'Rendering vum Browser-Interface vun der Rendering vum Säitinhalt. De Projet entwéckelt och de SkiaRenderer Prozess, deen plattformspezifesch Grafik APIen benotzt (Vulkan, D3D12, Metal). D'Ännerung huet et méiglech gemaach, d'Zuel vun de Crashen wéinst Problemer an de Grafike Chauffeuren ëm 6 Mol ze reduzéieren.

Source: opennet.ru

Setzt e Commentaire