Kromaj optimumigaj rezultoj efektivigitaj de la projekto RenderingNG

Chromium-programistoj resumis la unuajn rezultojn de la projekto RenderingNG, lanĉita antaŭ 8 jaroj, celita al daŭra laboro por pliigi la rendimenton, fidindecon kaj etendeblecon de Chrome.

Ekzemple, optimumigoj aldonitaj en Chrome 94 kompare kun Chrome 93 rezultigis 8% redukton en paĝa latenteco kaj 0.5% pliiĝon en bateria vivo. Surbaze de la grandeco de la uzantbazo de Chrome, tio reprezentas tutmondan ŝparadon de pli ol 1400 jaroj da CPU-tempo ĉiutage. Kompare kun antaŭaj versioj, moderna Chrome bildigas grafikojn pli ol 150% pli rapide kaj estas 6 fojojn malpli sentema al kraŝoj de GPU-ŝoforo sur problema aparataro.

Inter la efektivigitaj metodoj por atingi rendimentajn gajnojn, ni rimarkis la paraleligon de rasterigaj operacioj de malsamaj pikseloj sur la GPU-flanko kaj pli aktivan distribuadon de procesoroj tra malsamaj CPU-kernoj (efektivigo de JavaScript, prilaborado de paĝrulado, malkodado de filmetoj kaj bildoj, iniciatema bildigo de enhavo). La limiganta faktoro por aktiva paraleligo estas la kreskanta ŝarĝo sur la CPU, kiu estas reflektita per altiĝantaj temperaturoj kaj pliigita energikonsumo, do gravas atingi optimuman ekvilibron inter rendimento kaj elektra konsumo. Ekzemple, kiam vi funkcias per kuirilaro, vi povas oferi bildigan rapidon, sed vi ne povas oferi movo-pretigon en aparta fadeno, ĉar la malpliiĝo de interfaco-respondemo estos rimarkebla por la uzanto.

Teknologioj efektivigitaj en la kadro de la projekto RenderingNG tute ŝanĝas la aliron al komponado kaj permesas al vi adapte uzi malsamajn teknologiojn por optimumigi kalkulojn sur la GPU kaj CPU rilate al individuaj partoj de paĝoj, konsiderante tiajn funkciojn kiel ekranan rezolucion kaj refreŝigan indicon. , same kiel la ĉeesto en la sistemo de subteno por altnivelaj grafikaj APIoj, kiel Vulkan, D3D12 kaj Metalo. Ekzemploj de optimumigo inkluzivas la aktivan uzon de kaŝmemoro de GPU-teksturoj kaj bildigo de rezultoj de partoj de retpaĝoj, kaj ankaŭ konsideri nur la areon de la paĝo videbla por la uzanto dum bildigo (ne utilas bildi partojn de la paĝo. paĝo kiuj estas kovritaj de alia enhavo).

Grava elemento de RenderingNG ankaŭ estas izoli agadon dum prilaborado de malsamaj partoj de paĝoj, ekzemple, izoli la komputadon asociitan kun servado de reklamoj en iframoj, montrado de kuraĝigoj, ludado de audio kaj video, movo de enhavo kaj ekzekuto de JavaScript.

Kromaj optimumigaj rezultoj efektivigitaj de la projekto RenderingNG

Efektivigitaj optimumigaj teknikoj:

  • Chrome 94 ofertas la mekanismon CompositeAfterPaint, kiu provizas komponadon de aparte prezentitaj partoj de retpaĝoj kaj ebligas al vi dinamike skali la ŝarĝon sur la GPU. Laŭ uzanttelemetriaj datumoj, la nova kunmetaĵa sistemo reduktis movo-latentecon je 8%, pliigis uzantan sperton-respondemon je 3%, pliigis bildigan rapidecon je 3%, reduktis GPU-memorkonsumon je 3% kaj plilongigis baterian vivon je 0.5%.
  • GPU Raster, GPU-flanka rasteriga motoro, estis lanĉita tra ĉiuj platformoj en 2020 kaj akcelis MotionMark-komparnormojn je mezumo 37% kaj HTML-rilatajn komparnormojn je 150%. Ĉi-jare, GPU Raster estis plibonigita kun la kapablo uzi GPU-flankan akcelon por bildigi Canvas-elementojn, rezultigante 1000% pli rapidan skizbildigon kaj 1.2% pli rapidajn MotionMark 130 komparnormojn.
  • LayoutNG estas kompleta restrukturado de algoritmoj de aranĝo de paĝo-elementoj celantaj pliigi fidindecon kaj antaŭvideblecon. La projekto estas planita esti alportita al uzantoj ĉi-jare.
  • BlinkNG - refactoring kaj purigado de la Blink-motoro, dividante bildigajn operaciojn en aparte efektivigitajn fazojn por plibonigi kaŝmemorefikecon kaj simpligi maldiligentan bildigon, konsiderante la videblecon de objektoj en la fenestro. La laboro estas planita por esti finita ĉi-jare.
  • Movante ruliĝajn, animaciajn kaj bildmalkodajn traktilojn al apartaj fadenoj. La projekto disvolviĝas ekde 2011 kaj ĉi-jare ĝi atingis la kapablon eksporti viglajn CSS-transformojn kaj SVG-animaciojn por apartigi fadenojn.
  • VideoNG estas efika kaj fidinda motoro por ludi videon sur retpaĝoj. Ĉi-jare, la kapablo montri protektitan enhavon en 4K rezolucio estis efektivigita. HDR-subteno antaŭe estis aldonita.
  • Viz - apartaj procezoj por rastrumado (OOP-R - Eksterproceza Raster) kaj bildigo (OOP-D - Eksterproceza ekrankomponisto), apartigante la bildigon de la retumila interfaco de la bildigo de paĝenhavo. La projekto ankaŭ disvolvas la SkiaRenderer-procezon, kiu uzas platform-specifajn grafikajn APIojn (Vulkan, D3D12, Metalo). La ŝanĝo ebligis malpliigi la nombron da kraŝoj pro problemoj en grafikaj ŝoforoj je 6 fojojn.

fonto: opennet.ru

Aldoni komenton