Mga resulta sa pag-optimize sa Chromium nga gipatuman sa proyekto sa RenderingNG

Gisumada sa mga developer sa Chromium ang unang mga resulta sa proyekto sa RenderingNG, nga gilunsad 8 ka tuig na ang milabay, nga gitumong sa padayon nga trabaho aron madugangan ang performance, kasaligan ug extensibility sa Chrome.

Pananglitan, ang mga pag-optimize nga gidugang sa Chrome 94 kumpara sa Chrome 93 miresulta sa 8% nga pagkunhod sa latency sa panid ug 0.5% nga pagtaas sa kinabuhi sa baterya. Pinasukad sa gidak-on sa base sa tiggamit sa Chrome, kini nagrepresentar sa usa ka global nga pagtipig nga sobra sa 1400 ka tuig nga oras sa CPU matag adlaw. Kung itandi sa nangaging mga bersyon, ang modernong Chrome naghubad sa mga graphic nga labaw sa 150% nga mas paspas ug 6 ka beses nga dili kaayo dali nga makuha sa mga drayber sa GPU nga nahagsa sa problema nga hardware.

Lakip sa gipatuman nga mga pamaagi aron makab-ot ang performance gains, among namatikdan ang parallelization sa rasterization operations sa lain-laing pixel sa GPU side ug mas aktibo nga pag-apod-apod sa mga processor sa lain-laing CPU cores (pagpatuman sa JavaScript, pagproseso sa pag-scroll sa pahina, pag-decode sa mga video ug mga imahe, proactive rendering sa sulod). Ang limitasyon nga hinungdan alang sa aktibo nga parallelization mao ang pagtaas sa karga sa CPU, nga gipakita sa pagtaas sa temperatura ug pagtaas sa konsumo sa kuryente, busa hinungdanon nga makab-ot ang usa ka kamalaumon nga balanse tali sa pasundayag ug pagkonsumo sa kuryente. Pananglitan, kung nagdagan sa gahum sa baterya, mahimo nimong isakripisyo ang katulin sa pag-render, apan dili nimo masakripisyo ang pagproseso sa pag-scroll sa usa ka bulag nga hilo, tungod kay ang pagkunhod sa pagtubag sa interface mamatikdan sa tiggamit.

Ang mga teknolohiya nga gipatuman sulod sa gambalay sa proyekto sa RenderingNG hingpit nga nagbag-o sa pamaagi sa pag-composite ug nagtugot kanimo sa pagpahiangay sa paggamit sa lainlaing mga teknolohiya alang sa pag-optimize sa mga kalkulasyon sa GPU ug CPU kalabot sa indibidwal nga mga bahin sa mga panid, nga gikonsiderar ang mga bahin sama sa resolusyon sa screen ug rate sa pag-refresh. , ingon man ang presensya sa sistema sa suporta alang sa mga advanced graphics API, sama sa Vulkan, D3D12 ug Metal. Ang mga pananglitan sa mga pag-optimize naglakip sa aktibo nga paggamit sa pag-cache sa mga texture sa GPU ug pag-render sa mga resulta sa mga bahin sa mga web page, ingon man ang pagkonsiderar lamang sa lugar sa panid nga makita sa user kung mag-render (wala’y punto sa paghubad sa mga bahin sa panid nga nasakup sa ubang mga sulud).

Usa ka importante nga elemento sa RenderingNG mao usab ang pag-isolate sa performance sa diha nga pagproseso sa lain-laing mga bahin sa mga panid, alang sa panig-ingnan, aron sa paglain sa computation nga nalangkit sa pag-alagad sa mga ads sa iframes, pagpakita sa mga animation, pagdula og audio ug video, pag-scroll sa sulod, ug pagpatuman sa JavaScript.

Mga resulta sa pag-optimize sa Chromium nga gipatuman sa proyekto sa RenderingNG

Gipatuman nga mga teknik sa pag-optimize:

  • Ang Chrome 94 nagtanyag sa mekanismo sa CompositeAfterPaint, nga naghatag og compositing sa gilain nga gihubad nga mga bahin sa mga web page ug nagtugot kanimo sa dinamikong pag-scale sa load sa GPU. Sumala sa datos sa telemetry sa gumagamit, ang bag-ong sistema sa pag-composite nakunhuran ang latency sa pag-scroll sa 8%, gipataas ang pagtubag sa kasinatian sa gumagamit sa 3%, gipataas ang katulin sa pag-render sa 3%, gikunhuran ang konsumo sa memorya sa GPU sa 3%, ug gipalugway ang kinabuhi sa baterya sa 0.5%.
  • Ang GPU Raster, usa ka GPU-side rasterization engine, gipaila sa tanan nga mga platform kaniadtong 2020 ug gipadali ang mga benchmark sa MotionMark sa aberids nga 37% ug mga benchmark nga may kalabotan sa HTML sa 150%. Karong tuiga, ang GPU Raster gipauswag uban ang abilidad sa paggamit sa GPU-side acceleration aron ma-render ang mga elemento sa Canvas, nga miresulta sa 1000% nga mas paspas nga outline rendering ug 1.2% nga mas paspas nga MotionMark 130 nga mga benchmark.
  • Ang LayoutNG usa ka kompleto nga pagdesinyo pag-usab sa mga algorithm sa layout sa elemento sa panid nga gitumong sa pagdugang sa pagkakasaligan ug pagkatag-an. Ang proyekto giplano nga dad-on sa mga tiggamit karong tuiga.
  • BlinkNG - refactoring ug paglimpyo sa Blink engine, pagbahin sa rendering operations ngadto sa gilain nga gipatuman nga mga hugna aron sa pagpalambo sa caching efficiency ug pagpayano sa tapolan nga rendering, nga gikonsiderar ang visibility sa mga butang sa bintana. Gikatakdang mahuman ang trabaho karong tuiga.
  • Pagbalhin sa scrolling, animation ug image decoding handler sa pagbulag sa mga thread. Ang proyekto nag-uswag sukad sa 2011 ug karong tuiga nakab-ot niini ang abilidad sa pag-eksport sa mga animated CSS transformations ug SVG animation sa pagbulag sa mga thread.
  • Ang VideoNG usa ka episyente ug kasaligan nga makina alang sa pagdula og video sa mga panid sa web. Karong tuiga, ang abilidad sa pagpakita sa gipanalipdan nga sulud sa 4K nga resolusyon gipatuman. Ang suporta sa HDR gidugang kaniadto.
  • Viz - bulag nga mga proseso para sa rasterization (OOP-R - Out-of-process Raster) ug rendering (OOP-D - Out of process display compositor), nga nagbulag sa rendering sa browser interface gikan sa rendering sa page content. Ang proyekto nagpalambo usab sa proseso sa SkiaRenderer, nga naggamit sa mga platform-specific graphics APIs (Vulkan, D3D12, Metal). Ang pagbag-o nagpaposible nga makunhuran ang gidaghanon sa mga pag-crash tungod sa mga problema sa mga drayber sa graphic sa 6 ka beses.

Source: opennet.ru

Idugang sa usa ka comment