Chromium optimization mhinduro dzakaitwa neRenderingNG chirongwa

Vagadziri veChromium vakapfupisa mhedzisiro yekutanga yeRenderingNG purojekiti, yakatangwa makore masere apfuura, yakanangana nekuenderera mberi basa rekuwedzera mashandiro, kuvimbika uye kuwedzera kweChrome.

Semuenzaniso, optimizations yakawedzerwa muChrome 94 kana ichienzaniswa neChrome 93 yakakonzera kudzikiswa kwe8% peji rekupa latency uye kuwedzera kwe0.5% yehupenyu hwebhatiri. Zvichienderana nehukuru hwevashandisi veChrome, izvi zvinomiririra kuchengetedza kwepasirese kweanopfuura makore 1400 eCPU nguva zuva rega rega. Zvichienzaniswa neshanduro dzakapfuura, Chrome yemazuvano inopa mifananidzo inopfuura 150% nekukurumidza uye ka6 kashoma kubatwa neGPU mutyairi kuputsika pane zvinetswa hardware.

Pakati penzira dzakaitwa dzekuwana budiriro yekuita, takacherekedza kufananidzwa kwekuita rasterization kwemapikisi akasiyana padivi reGPU uye kupararira kwakanyanya kwema processor mumativi akasiyana eCPU cores (kuita JavaScript, kugadzira peji kupururudza, decoding mavhidhiyo nemifananidzo, proactive kupa content). Chinhu chinodzikisira chekushanda parallelization ndiko kuwedzera kwemutoro paCPU, iyo inoratidzwa nekukwira kwekushisa uye kuwedzera kwesimba rekushandisa, saka zvakakosha kuwana chiyero chakakwana pakati pekuita uye kushandiswa kwesimba. Semuenzaniso, kana uchimhanya pamagetsi ebhatiri, unogona kubayira kukurumidza kupa, asi haugone kubayira kupuruzira kugadzirisa mune imwe tambo, sezvo kudzikira kwekupindura kweinterface kuchaonekwa kumushandisi.

Tekinoroji dzakaitwa mukati mehurongwa hweRenderingNG purojekiti inoshandura zvachose nzira yekugadzira uye inobvumidza iwe kuti ugone kushandisa akasiyana matekinoroji ekugadzirisa maverengero paGPU neCPU maererano nezvikamu zvemapeji, uchifunga nezve maficha akadai sekugadziriswa kwescreen uye chiyero chekuzorodza. , pamwe nekuvapo muhurongwa hwekutsigira kwepamusoro graphics APIs, yakadai seVulkan, D3D12 uye Metal. Mienzaniso yekugadzirisa inosanganisira kushandiswa kwekushanda kwe caching GPU maumbirwo uye kupa mhedzisiro yezvikamu zvemapeji ewebhu, pamwe nekutarisa chete nzvimbo yepeji inoonekwa kumushandisi kana uchipa (hapana chikonzero chekupa zvikamu zve peji inofukidzwa nezvimwe zvirimo).

Chinhu chakakosha cheRenderingNG zvakare kusiyanisa kuita kana uchigadzira zvikamu zvakasiyana zvemapeji, semuenzaniso, kupatsanura komputa ine chekuita nekupa ads mumaiframes, kuratidza mifananidzo, kutamba odhiyo nevhidhiyo, kupururudza zvirimo, uye kuita JavaScript.

Chromium optimization mhinduro dzakaitwa neRenderingNG chirongwa

Akashandiswa optimization matekiniki:

  • Chrome 94 inopa iyo CompositeAfterPaint michina, iyo inopa kuumbwa kwezvakasiyana zvakapihwa zvikamu zvewebhu mapeji uye inobvumidza iwe kuyera zvine simba mutoro paGPU. Sekureva kwemushandisi telemetry data, iyo itsva compositing system yakaderedza kupuruzira latency ne8%, yakawedzera mushandisi ruzivo rwekupindura ne3%, yakawedzera kukurumidza kupa ne3%, yakaderedza GPU memory kushandiswa ne3%, uye kuwedzera hupenyu hwebhatiri ne0.5%.
  • GPU Raster, injini yeGPU-side rasterization, yakaunzwa pamapuratifomu ese muna 2020 uye yakawedzera MotionMark mabhenji neavhareji ye37% uye HTML-ane hukama nemabhenji ne150%. Gore rino, GPU Raster yakakwidziridzwa nekugona kushandisa GPU-side kukwidziridza kupa Canvas zvinhu, zvichikonzera 1000% nekukurumidza rondedzero yekupa uye 1.2% nekukurumidza MotionMark 130 mabhenji.
  • LayoutNG igadziriso izere yepeji element dhizaini algorithms ine chinangwa chekuwedzera kuvimbika uye kufanotaura. Iyo purojekiti yakarongwa kuunzwa kune vashandisi gore rino.
  • BlinkNG - refactoring uye kuchenesa injini yeBlink, kupatsanura mashandiro muzvikamu zvakapatsanurwa kuti uvandudze kugona kwecaching uye kurerutsa kupa husimbe, uchifunga nezvekuonekwa kwezvinhu muhwindo. Basa iri rakarongwa kupedzwa gore rino.
  • Kufambisa kupuruzira, animation uye mufananidzo decoding zvibatiso kupatsanura shinda. Iyo purojekiti yanga ichikura kubva 2011 uye gore rino yakawana kugona kutumira kunze animated CSS shanduko uye SVG animations kuparadzanisa tambo.
  • VideoNG injini inoshanda uye yakavimbika yekutamba vhidhiyo pamapeji ewebhu. Gore rino, kugona kuratidza zvakadzivirirwa mu4K resolution kwaitwa. HDR rutsigiro rwakambowedzerwa.
  • Viz - kupatsanura maitiro e rasterization (OOP-R - Kunze-kwe-process Raster) uye kupa (OOP-D - Kunze kwemaitiro ratidziro compositor), kupatsanura kupa kwebrowser interface kubva pakupihwa kwemukati peji. Iyo purojekiti iri zvakare kugadzira iyo SkiaRenderer maitiro, ayo anoshandisa platform-specific graphics APIs (Vulkan, D3D12, Metal). Shanduko iyi yakaita kuti zvikwanise kudzikisa huwandu hwekuputsika nekuda kwematambudziko mumadhiraivha edhiraivha ne6 nguva.

Source: opennet.ru

Voeg