Encamên xweşbîniya Chromiumê ji hêla projeya RenderingNG ve hatî bicîh kirin

Pêşdebirên Chromium encamên yekem ên projeya RenderingNG, ku 8 sal berê hatî destpêkirin, bi mebesta xebata domdar ji bo zêdekirina performans, pêbawerî û berfirehbûna Chrome, kurt kirin.

Mînakî, xweşbîniyên ku di Chrome 94-ê de li gorî Chrome 93-ê hatine zêdekirin bûne sedema kêmbûna 8% di derengiya danûstendina rûpelê û 0.5% zêdebûnek di jiyana bateriyê de. Li ser bingeha mezinahiya bingeha bikarhênerê Chrome-ê, ev her roj teserûfa gerdûnî ya zêdetirî 1400 salan dema CPU nîşan dide. Li gorî guhertoyên berê, Chrome-ya nûjen grafîkan ji% 150 zêdetir zûtir dike û 6 carî kêmtir dibe sedema têkçûna ajokarên GPU-yê li ser hardware pirsgirêk.

Di nav awayên hatine bicîh kirin de ji bo bidestxistina destkeftiyên performansê, me bal kişand ser paralelkirina operasyonên rasterîzekirinê yên pixelên cihê yên li aliyê GPU û belavkirina çalaktir a pêvajoyan li ser bingehên CPU yên cihêreng (îcrakirina JavaScript, pêvajokirina gerîdeya rûpelê, deşîfrekirina vîdyoyan û wêneyan, vegotina çalak dilşad). Faktora sînordar ji bo paralelîzasyona çalak zêdebûna barkirina li ser CPU-yê ye, ku bi zêdebûna germahiyê û zêdekirina xerckirina hêzê ve tê xuyang kirin, ji ber vê yekê girîng e ku meriv hevsengiyek çêtirîn di navbera performans û xerckirina hêzê de bi dest bixe. Mînakî, dema ku hûn bi hêza batterê dimeşînin, hûn dikarin leza renderkirinê bikin qurban, lê hûn nekarin pêvajoyek gerîdeyê di mijarek cûda de qurban bikin, ji ber ku kêmbûna bersivdana navbeynkar dê ji bikarhêner re diyar bibe.

Teknolojiyên ku di çarçoveya projeya RenderingNG de hatine bicîh kirin bi tevahî nêzîkatiya berhevkirinê diguhezîne û dihêle hûn bi adapteyî teknolojiyên cihêreng bikar bînin ji bo xweşbînkirina hesabên li ser GPU û CPU di derbarê beşên takekesî yên rûpelan de, bi girtina taybetmendiyên wekî çareseriya ekranê û rêjeya nûvekirinê. , û her weha hebûna di pergala piştgirîkirina API-yên grafîkî yên pêşkeftî de, wekî Vulkan, D3D12 û Metal. Nimûneyên xweşbîniyê di nav xwe de karanîna çalak a caching textures GPU û pêşkêşkirina encamên parçeyên rûpelên malperê, û her weha girtina tenê qada rûpelê ku ji bikarhênerê re xuya dike dema ku çêdike tê hesibandin (tu xalek danasîna beşên rûpela ku ji hêla naverokên din ve têne vegirtin).

Hêmanek girîng a RenderingNG jî ev e ku dema ku beşên cihêreng ên rûpelan hildiweşîne performansê ye, mînakî, îzolekirina hesabê ku bi pêşkêşkirina reklaman di iframes de, nîşandana anîmasyon, lîstina deng û vîdyoyê, gerandina naverokê, û pêkanîna JavaScript-ê ve girêdayî ye.

Encamên xweşbîniya Chromiumê ji hêla projeya RenderingNG ve hatî bicîh kirin

Teknolojiyên optimîzasyonê yên bicîhkirî:

  • Chrome 94 mekanîzmaya CompositeAfterPaint pêşkêşî dike, ku berhevkirina beşên ji hev veqetandî yên rûpelên malperê peyda dike û dihêle hûn bi dînamîk barkirina li ser GPU-yê mezin bikin. Li gorî daneyên telemetrîya bikarhêner, pergala nû ya pêkhatî derengiya gerokê 8% kêm kir, bersivdana ezmûna bikarhêner 3%, leza renderkirinê 3% zêde kir, 3% xerckirina bîranîna GPU kêm kir, û 0.5% jiyana bateriyê dirêj kir.
  • GPU Raster, motorek rasterîzasyona GPU-yê, di sala 2020-an de li seranserê hemî platforman hate nasandin û pîvanên MotionMark bi navînî% 37 û pîvanên têkildar ên HTML-ê bi 150% bileztir kir. Vê salê, GPU Raster bi şiyana karanîna bilezkirina aliyê GPU-yê ji bo pêşkêşkirina hêmanên Canvas-ê hate zêdekirin, ku di encamê de 1000% zûtir danasîna nexşeyê û 1.2% zûtirîn pîvanên MotionMark 130.
  • LayoutNG ji nû ve sêwirandinek bêkêmasî ya algorîtmayên xêzkirina hêmanên rûpelê ye ku armanc jê zêdekirina pêbawerî û pêşbîniyê ye. Proje tê plan kirin ku îsal ji bikarhêneran re were şandin.
  • BlinkNG - refaktorkirin û paqijkirina motora Blink, dabeşkirina operasyonên renderkirinê li qonaxên ji hev veqetandî ji bo baştirkirina kargêriya cachkirinê û hêsankirina renderkirina laş, li ber çavê dîtina tiştên di pencereyê de. Tê plankirin ku xebat îsal biqede.
  • Veguheztinên gerîdok, anîmasyon û dekodkirina wêneyê ji bo veqetandina mijaran. Proje ji sala 2011-an vir ve pêşve diçe û îsal wê jêhatî bi dest xist ku veguheztinên anîmasyon ên CSS û anîmasyonên SVG-ê ji bo mijarên veqetandî hinarde bike.
  • VideoNG ji bo lîstina vîdyoyê li ser rûpelên malperê motorek bikêr û pêbawer e. Vê salê, şiyana nîşandana naveroka parastî di çareseriya 4K de hate bicîh kirin. Piştgiriya HDR berê hate zêdekirin.
  • Viz - pêvajoyên ji bo rasterîzekirinê (OOP-R - Rastera derveyî pêvajoyê) û renderkirinê (OOP-D - Pêvajoya pêşandana derveyî pêvajoyê), veqetandina veguheztina navrûya gerokê ji vegotina naveroka rûpelê vediqetîne. Proje di heman demê de pêvajoya SkiaRenderer-ê jî pêş dixe, ku API-yên grafîkî yên platform-taybet (Vulkan, D3D12, Metal) bikar tîne. Guhertinê îmkan da ku ji ber pirsgirêkên di ajokarên grafîkê de 6 qat hejmara qezayan kêm bibe.

Source: opennet.ru

Add a comment