Riżultati tal-ottimizzazzjoni tal-kromju implimentati mill-proġett RenderingNG

L-iżviluppaturi tal-kromju ġabru fil-qosor l-ewwel riżultati tal-proġett RenderingNG, imniedi 8 snin ilu, immirat għal ħidma kontinwa biex tiżdied il-prestazzjoni, l-affidabbiltà u l-estensibilità ta 'Chrome.

Pereżempju, ottimizzazzjonijiet miżjuda fil-Chrome 94 meta mqabbla ma' Chrome 93 irriżultaw fi tnaqqis ta' 8% fil-latenza tar-rendi tal-paġna u żieda ta' 0.5% fil-ħajja tal-batterija. Ibbażat fuq id-daqs tal-bażi tal-utenti ta 'Chrome, dan jirrappreżenta iffrankar globali ta' aktar minn 1400 sena ta 'ħin CPU kuljum. Meta mqabbel mal-verżjonijiet preċedenti, Chrome modern jirrendi grafika aktar minn 150% aktar malajr u huwa 6 darbiet inqas suxxettibbli għall-ħabtiet tas-sewwieq tal-GPU fuq hardware problematiku.

Fost il-metodi implimentati biex jinkisbu kisbiet fil-prestazzjoni, aħna nnutaw il-parallelizzazzjoni ta 'operazzjonijiet ta' rasterizzazzjoni ta 'pixels differenti fuq in-naħa tal-GPU u distribuzzjoni aktar attiva ta' proċessuri f'qalba ta 'CPU differenti (eżekuzzjoni ta' JavaScript, ipproċessar ta 'scrolling tal-paġna, dekodifikazzjoni ta' vidjows u immaġini, għoti proattiv ta ' kontenut). Il-fattur li jillimita l-parallelizzazzjoni attiva huwa t-tagħbija li qed tiżdied fuq is-CPU, li hija riflessa minn temperaturi li qed jogħlew u żieda fil-konsum tal-enerġija, għalhekk huwa importanti li jinkiseb bilanċ ottimali bejn il-prestazzjoni u l-konsum tal-enerġija. Pereżempju, meta taħdem fuq l-enerġija tal-batterija, tista 'tissagrifika l-veloċità tar-rendi, iżda ma tistax tissagrifika l-ipproċessar tal-iskrolljar f'ħajt separat, peress li t-tnaqqis fir-rispons tal-interface se jkun notevoli għall-utent.

Teknoloġiji implimentati fil-qafas tal-proġett RenderingNG jibdlu kompletament l-approċċ għall-kompożizzjoni u jippermettulek tuża b'mod adattiv teknoloġiji differenti għall-ottimizzazzjoni tal-kalkoli fuq il-GPU u s-CPU fir-rigward ta 'partijiet individwali tal-paġni, b'kont meħud ta' karatteristiċi bħal riżoluzzjoni tal-iskrin u rata ta 'aġġornament. , kif ukoll il-preżenza fis-sistema ta 'appoġġ għal grafika avvanzata APIs, bħal Vulkan, D3D12 u Metal. Eżempji ta’ ottimizzazzjonijiet jinkludu l-użu attiv ta’ caching ta’ nisġa tal-GPU u r-riżultati tar-rendi ta’ partijiet ta’ paġni tal-web, kif ukoll li titqies biss iż-żona tal-paġna viżibbli għall-utent meta tirrendi (m’hemm l-ebda skop li tirrendi partijiet tal- paġna li huma koperti minn kontenut ieħor).

Element importanti ta 'RenderingNG huwa wkoll li tiżola l-prestazzjoni meta tipproċessa partijiet differenti ta' paġni, pereżempju, biex tiżola l-komputazzjoni assoċjata mal-għoti ta 'reklami f'iframes, wiri animazzjonijiet, daqq ta' awdjo u vidjo, kontenut ta 'scrolling, u teżekuzzjoni ta' JavaScript.

Riżultati tal-ottimizzazzjoni tal-kromju implimentati mill-proġett RenderingNG

Tekniki ta' ottimizzazzjoni implimentati:

  • Chrome 94 joffri l-mekkaniżmu CompositeAfterPaint, li jipprovdi kompożizzjoni ta’ partijiet ta’ paġni web mogħtija separatament u jippermettilek li tiskala dinamikament it-tagħbija fuq il-GPU. Skont id-dejta tat-telemetrija tal-utent, is-sistema ta 'komposizzjoni l-ġdida naqqset il-latency tal-iskrolljar bi 8%, żiedet ir-rispons tal-esperjenza tal-utent bi 3%, żiedet il-veloċità tar-rendi bi 3%, naqqset il-konsum tal-memorja tal-GPU bi 3%, u testendi l-ħajja tal-batterija b'0.5%.
  • GPU Raster, magna tar-rasterizzazzjoni tan-naħa tal-GPU, ġiet introdotta fuq il-pjattaformi kollha fl-2020 u aċċellerat il-benchmarks ta' MotionMark b'medja ta' 37% u l-benchmarks relatati mal-HTML b'150%. Din is-sena, GPU Raster ġiet imsaħħa bil-kapaċità li tuża l-aċċelerazzjoni tal-ġenb tal-GPU biex tirrendi l-elementi tal-Canvas, li rriżultat f'kontorn 1000% aktar mgħaġġel u 1.2% aktar veloċi fil-benchmarks ta 'MotionMark 130.
  • LayoutNG huwa disinn mill-ġdid komplut tal-algoritmi tat-tqassim tal-element tal-paġna mmirati biex iżidu l-affidabbiltà u l-prevedibbiltà. Il-proġett huwa ppjanat li jinġieb lill-utenti din is-sena.
  • BlinkNG - refactoring u tindif tal-magna Blink, qsim ta 'operazzjonijiet ta' rendering f'fażijiet eżegwiti separatament biex tittejjeb l-effiċjenza tal-caching u tissimplifika l-għoti għażżien, b'kont meħud tal-viżibilità ta 'oġġetti fit-tieqa. Ix-xogħol huwa skedat li jitlesta din is-sena.
  • Jiċċaqilqu l-iskrolljar, l-animazzjoni u l-immaniġġjar tad-dekodifikazzjoni tal-immaġni għal ħjut separati. Il-proġett ilu jiżviluppa mill-2011 u din is-sena kiseb il-kapaċità li jesporta trasformazzjonijiet CSS animati u animazzjonijiet SVG għal ħjut separati.
  • VideoNG hija magna effiċjenti u affidabbli biex tilgħab vidjow fuq paġni tal-web. Din is-sena, ġiet implimentata l-abbiltà li jintwera kontenut protett f'riżoluzzjoni 4K. L-appoġġ tal-HDR kien miżjud qabel.
  • Jiġifieri - proċessi separati għar-rasterizzazzjoni (OOP-R - Raster barra mill-proċess) u rendering (OOP-D - Kompożitur tal-wiri barra mill-proċess), li jisseparaw ir-rendi tal-interface tal-browser mill-għoti tal-kontenut tal-paġna. Il-proġett qed jiżviluppa wkoll il-proċess SkiaRenderer, li juża APIs tal-grafika speċifiċi għall-pjattaforma (Vulkan, D3D12, Metal). Il-bidla għamlitha possibbli li jitnaqqas in-numru ta 'ħabtiet minħabba problemi fis-sewwieqa tal-grafika b'6 darbiet.

Sors: opennet.ru

Żid kumment