Chromium-ontwikkelaars vrijgegeven RenderingNG-projectoptimalisatieresultaten

Chromium-ontwikkelaars onthuld kort geleden de eerste resultaten van het RenderingNG-project (uitgebracht 8 jaar geleden) die bedoeld is om continu te werken om de prestaties, betrouwbaarheid en uitbreidbaarheid van Chrome te verbeteren.

De technologieën die binnen het RenderingNG-project zijn geïmplementeerd, veranderen de benadering van compositie volledig en het adaptief gebruik van verschillende technologieën mogelijk maken om berekeningen op de GPU en CPU te optimaliseren met betrekking tot afzonderlijke delen van de pagina's, rekening houdend met kenmerken zoals resolutie en schermverversingssnelheid, evenals de aanwezigheid van ondersteuning voor geavanceerde grafische API's in de systeem, zoals Vulkan, D3D12 en Metal.

Onder de geïmplementeerde methoden die het mogelijk maken om prestatieverbeteringen te bereiken, is de parallellisatie van de rasterbewerkingen van verschillende pixels aan de GPU-kant en een actievere scheiding van de handlers op verschillende CPU-kernen (JavaScript-uitvoering, pagina-scrollverwerking, video- en beelddecodering, proactief inhoudsweergave) worden gescoord.

De beperkende factor voor actieve parallellisatie is de verhoogde belasting van de CPU, wat tot uiting komt in de stijging van de temperatuur en de stijging van het energieverbruik, daarom is het belangrijk om een ​​optimale balans te bereiken tussen prestatie en energieverbruik. Als u bijvoorbeeld op batterijstroom werkt, kunt u de weergavesnelheid opofferen, maar u kunt de scrollverwerking in een aparte thread niet opofferen, omdat de afname van de responsiviteit van de interface voor de gebruiker merkbaar zal zijn.

Optimalisaties die in de Chrome 94-release zijn toegevoegd dan Chrome 93, resulteerden bijvoorbeeld in een verbetering van de paginalatentie met 8% en een toename van de batterijduur met 0,5%. Gebaseerd op de grootte van het gebruikersbestand van Chrome, vertalen deze cijfers zich wereldwijd in een besparing van meer dan 1.400 jaar CPU-tijd per dag. Vergeleken met de versies van vorig jaar, geeft het moderne Chrome graphics met meer dan 150% sneller weer en is het 6x minder vatbaar voor GPU-driverstoringen op probleemhardware.

Als voorbeelden van optimalisaties worden het actieve gebruik van GPU-textuurcaching en de resultaten van het weergeven van delen van webpagina's genoemd, evenals het in aanmerking nemen bij het weergeven van alleen het gedeelte van de pagina dat zichtbaar is voor de gebruiker (het heeft geen zin om delen van de pagina weer te geven die door andere inhoud worden gedekt).

Een belangrijk element van RenderingNG is ook de isolatie van de prestaties bij het renderen van verschillende delen van de pagina'sBijvoorbeeld om de berekeningen te isoleren die zijn gekoppeld aan het weergeven van advertenties in iframes, het renderen van animaties, het afspelen van audio en video, het scrollen van inhoud en het uitvoeren van JavaScript.

Van de toegepaste optimalisatietechnieken worden de volgende genoemd:

  • Chrome 94 beschikt over de CompositeAfterPaint-engine, die afzonderlijk weergegeven delen van webpagina's samenstelt en de GPU-belasting dynamisch schaalt. Volgens de gegevens die van de gebruiker zijn ontvangen als gevolg van de telemetrieverzameling, is de toepassing van een nieuw compositiesysteem mogelijk om de vertraging bij het scrollen te verminderen tot 8%, het reactievermogen van de gebruikersinteractie te verhogen tot 3%, de weergavesnelheid te verhogen met 3% en Verlaagt het GPU-geheugenverbruik met 3% en verlengt de levensduur van de batterij met 0,5%.
  • GPU-raster: rastermechanisme aan de zijkant van de GPU, het werd in 2020 in alle platforms opgenomen en liet de doorgang van de MotionMark-test met gemiddeld 37% versnellen, en de categorieën die aan HTML zijn gekoppeld, met 150%.
  • Lay-outNG: is een uitgebreid overzicht van algoritmen voor het ontwerpen van pagina-elementen die bedoeld zijn om de betrouwbaarheid en voorspelbaarheid te verbeteren. Het project zal naar verwachting dit jaar gebruikers bereiken.
  • BlinkNG - Refactoring en opschonen van de Blink-engine, waarbij de weergavebewerkingen worden opgedeeld in afzonderlijke fasen om de cache-efficiëntie te verbeteren en de luie weergave te vereenvoudigen, rekening houdend met de zichtbaarheid van objecten in het venster.
  • Overdracht van verplaatsingscontrollers, animatie en decodering van afbeeldingen naar afzonderlijke threads. Het project is sinds 2011 in ontwikkeling en heeft dit jaar de mogelijkheid bereikt om geanimeerde CSS-transformaties en SVG-animaties naar afzonderlijke streams te verplaatsen.
  • VideoNG: het is een efficiënte en betrouwbare engine voor het afspelen van video's op webpagina's. Dit jaar werd de mogelijkheid geïmplementeerd om beveiligde inhoud in 4K-resolutie weer te geven. HDR-ondersteuning is eerder toegevoegd.
  • Scherm: afzonderlijke processen voor rasteren en renderen, waarbij de weergave van de browserinterface wordt gescheiden van de weergave van pagina-inhoud.

bron: https://blog.chromium.org


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.