Matokeo ya uboreshaji wa Chromium yaliyotekelezwa na mradi wa RenderingNG

Wasanidi wa Chromium wamefanya muhtasari wa matokeo ya kwanza ya mradi wa RenderingNG, uliozinduliwa miaka 8 iliyopita, unaolenga kazi inayoendelea ya kuongeza utendakazi, kutegemewa na upanuzi wa Chrome.

Kwa mfano, uboreshaji ulioongezwa katika Chrome 94 ikilinganishwa na Chrome 93 ulisababisha kupungua kwa kasi ya uwasilishaji wa ukurasa kwa 8% na ongezeko la 0.5% la maisha ya betri. Kulingana na ukubwa wa msingi wa watumiaji wa Chrome, hii inawakilisha uokoaji wa kimataifa wa zaidi ya miaka 1400 ya muda wa CPU kila siku. Ikilinganishwa na matoleo ya awali, Chrome ya kisasa hutoa picha kwa kasi zaidi ya 150% na haiathiriwi mara 6 na migongano ya viendeshaji vya GPU kwenye maunzi yenye matatizo.

Miongoni mwa mbinu zilizotekelezwa ili kufikia mafanikio ya utendakazi, tulibaini ulinganifu wa utendakazi wa kurasta wa pikseli tofauti kwenye upande wa GPU na usambazaji amilifu zaidi wa vichakataji kwenye viini tofauti vya CPU (kutekeleza JavaScript, kuchakata ukurasa wa kusogeza, kusimbua video na picha, uwasilishaji wa haraka wa yaliyomo). Kizuizi cha ulinganifu amilifu ni mzigo unaoongezeka kwenye CPU, ambao unaonyeshwa na kupanda kwa joto na kuongezeka kwa matumizi ya nguvu, kwa hivyo ni muhimu kufikia usawa bora kati ya utendakazi na matumizi ya nishati. Kwa mfano, unapotumia nishati ya betri, unaweza kutoa sadaka kwa kasi ya uwasilishaji, lakini huwezi kutoa sadaka ya uchakataji wa kusogeza katika uzi tofauti, kwani kupungua kwa mwitikio wa kiolesura kutaonekana kwa mtumiaji.

Teknolojia zinazotekelezwa ndani ya mfumo wa mradi wa RenderingNG hubadilisha kabisa mbinu ya utungaji na kukuruhusu kutumia ipasavyo teknolojia tofauti ili kuboresha hesabu kwenye GPU na CPU kuhusiana na sehemu binafsi za kurasa, kwa kuzingatia vipengele kama vile utatuzi wa skrini na kiwango cha kuonyesha upya. , na pia uwepo katika mfumo wa usaidizi wa API za picha za hali ya juu, kama vile Vulkan, D3D12 na Metal. Mifano ya uboreshaji ni pamoja na utumiaji hai wa maandishi ya akiba ya GPU na kutoa matokeo ya sehemu za kurasa za wavuti, na vile vile kuzingatia tu eneo la ukurasa linaloonekana kwa mtumiaji wakati wa kutoa (hakuna maana katika kutoa sehemu za ukurasa. ukurasa ambao umefunikwa na maudhui mengine).

Kipengele muhimu cha RenderingNG pia ni kutenga utendakazi wakati wa kuchakata sehemu tofauti za kurasa, kwa mfano, kutenga hesabu inayohusishwa na kutoa matangazo katika iframe, kuonyesha uhuishaji, kucheza sauti na video, kusogeza maudhui na kutekeleza JavaScript.

Matokeo ya uboreshaji wa Chromium yaliyotekelezwa na mradi wa RenderingNG

Mbinu za uboreshaji zilizotekelezwa:

  • Chrome 94 inatoa utaratibu wa CompositeAfterPaint, ambao hutoa utungaji wa sehemu zilizotolewa tofauti za kurasa za wavuti na hukuruhusu kuongeza mzigo kwenye GPU kwa nguvu. Kulingana na data ya telemetry ya mtumiaji, mfumo mpya wa utungaji ulipunguza muda wa kusogeza kwa asilimia 8, uliongeza mwitikio wa uzoefu wa mtumiaji kwa 3%, uliongeza kasi ya uwasilishaji kwa 3%, ulipunguza matumizi ya kumbukumbu ya GPU kwa 3%, na kuongeza muda wa matumizi ya betri kwa 0.5%.
  • GPU Raster, injini ya uboreshaji wa upande wa GPU, ilianzishwa kwenye mifumo yote mnamo 2020 na imeongeza viwango vya alama za MotionMark kwa wastani wa 37% na alama zinazohusiana na HTML kwa 150%. Mwaka huu, GPU Raster iliimarishwa kwa uwezo wa kutumia kuongeza kasi ya upande wa GPU ili kutoa vipengele vya Canvas, na kusababisha uwasilishaji wa muhtasari wa 1000% na viwango vya kasi vya 1.2% vya MotionMark 130.
  • LayoutNG ni muundo upya kamili wa algoriti za mpangilio wa vipengele vya ukurasa unaolenga kuongeza kutegemewa na kutabirika. Mradi huo umepangwa kuletwa kwa watumiaji mwaka huu.
  • BlinkNG - kurekebisha na kusafisha injini ya Blink, kugawanya shughuli za utoaji katika awamu tofauti zilizotekelezwa ili kuboresha ufanisi wa caching na kurahisisha utoaji wa uvivu, kwa kuzingatia mwonekano wa vitu kwenye dirisha. Kazi hiyo imepangwa kukamilika mwaka huu.
  • Inasogeza vidhibiti vya kusogeza, uhuishaji na usimbaji picha ili kutenganisha nyuzi. Mradi huu umekuwa ukiendelezwa tangu 2011 na mwaka huu ulipata uwezo wa kuuza nje mabadiliko ya uhuishaji ya CSS na uhuishaji wa SVG ili kutenganisha nyuzi.
  • VideoNG ni injini bora na ya kuaminika ya kucheza video kwenye kurasa za wavuti. Mwaka huu, uwezo wa kuonyesha maudhui yaliyolindwa katika ubora wa 4K umetekelezwa. Usaidizi wa HDR uliongezwa hapo awali.
  • Viz - michakato tofauti ya uboreshaji (OOP-R - Raster ya nje ya mchakato) na utoaji (OOP-D - Mtunzi wa maonyesho ya nje ya mchakato), ikitenganisha utoaji wa kiolesura cha kivinjari kutoka kwa utoaji wa maudhui ya ukurasa. Mradi pia unatengeneza mchakato wa SkiaRenderer, ambao unatumia API za michoro mahususi za jukwaa (Vulkan, D3D12, Metal). Mabadiliko hayo yalifanya iwezekane kupunguza idadi ya ajali kutokana na matatizo katika viendeshi vya michoro kwa mara 6.

Chanzo: opennet.ru

Kuongeza maoni