Hoʻokō ʻia nā hualoaʻa o Chromium e ka papahana RenderingNG

Ua hōʻuluʻulu nā mea hoʻomohala Chromium i nā hopena mua o ka papahana RenderingNG, i hoʻokuʻu ʻia i 8 mau makahiki i hala aku nei, e manaʻo ana i ka hana mau e hoʻonui i ka hana, hilinaʻi a me ka hoʻonui ʻia o Chrome.

No ka laʻana, ua hoʻonui ʻia nā loiloi i hoʻohui ʻia ma Chrome 94 i hoʻohālikelike ʻia me Chrome 93 i ka hōʻemi ʻana he 8% i ka latency rendering ʻaoʻao a me ka piʻi ʻana he 0.5% o ke ola pākaukau. Ma muli o ka nui o ka waihona mea hoʻohana o Chrome, hōʻike kēia i kahi mālama honua ma mua o 1400 mau makahiki o ka manawa CPU i kēlā me kēia lā. Ke hoʻohālikelike ʻia i nā mana o mua, hoʻopuka ʻo Chrome hou i nā kiʻi ma mua o 150% ʻoi aku ka wikiwiki a he 6 mau manawa ʻoi aku ka liʻiliʻi o ka pilikia o ka mea hoʻokele GPU i nā lako pilikia.

Ma waena o nā hana i hoʻokō ʻia e hoʻokō ai i nā lanakila hana, ua ʻike mākou i ka hoʻohālikelike ʻana o nā hana rasterization o nā pika like ʻole ma ka ʻaoʻao GPU a me ka hāʻawi ʻana i nā kaʻina hana ma waena o nā cores CPU like ʻole (e hoʻokō ana i ka JavaScript, ka hoʻoponopono ʻana i ka ʻaoʻao scrolling, decoding wikiō a me nā kiʻi, proactive rendering o maʻiʻo). ʻO ke kumu palena no ka hoʻohālikelike ikaika ʻana ʻo ia ka piʻi ʻana o ka ukana ma ka CPU, i hōʻike ʻia e ka piʻi ʻana o ka mahana a me ka hoʻonui ʻana i ka mana, no laila he mea nui e hoʻokō i kahi kaulike kūpono ma waena o ka hana a me ka hoʻohana ʻana i ka mana. No ka laʻana, i ka wā e holo ai i ka mana pākaukau, hiki iā ʻoe ke kaumaha i ka wikiwiki o ka hāʻawi ʻana, akā ʻaʻole hiki iā ʻoe ke kaumaha i ka hoʻoili ʻana i ka scrolling ma kahi ʻāpana ʻokoʻa, no ka mea e ʻike ʻia ka emi ʻana o ka pane ʻana o ka interface i ka mea hoʻohana.

ʻO nā ʻenehana i hoʻokō ʻia i loko o ka hoʻolālā o ka papahana RenderingNG e hoʻololi loa i ke ʻano o ka haku mele ʻana a ʻae iā ʻoe e hoʻohana maʻalahi i nā ʻenehana like ʻole no ka hoʻonui ʻana i ka helu ʻana ma ka GPU a me ka CPU e pili ana i nā ʻāpana pākahi o nā ʻaoʻao, me ka noʻonoʻo ʻana i nā hiʻohiʻona e like me ka hoʻonā ʻana o ka pale a me ka helu hoʻomaha. , a me ka noho ʻana i ka ʻōnaehana kākoʻo no nā API kiʻi kiʻi kiʻi kiʻi, e like me Vulkan, D3D12 a me Metal. ʻO nā hiʻohiʻona o ka optimizations e pili ana i ka hoʻohana ikaika ʻana o ka caching GPU textures a me ka hāʻawi ʻana i nā hopena o nā ʻāpana o nā ʻaoʻao pūnaewele, a me ka noʻonoʻo ʻana i ka ʻāpana o ka ʻaoʻao i ʻike ʻia e ka mea hoʻohana i ka wā e hāʻawi ai (ʻaʻohe kumu o ka hāʻawi ʻana i nā ʻāpana o ka ʻaoʻao. ʻaoʻao i uhi ʻia e nā mea ʻē aʻe).

ʻO kahi mea koʻikoʻi o RenderingNG ʻo ia ka hoʻokaʻawale ʻana i ka hana i ka wā e hoʻoponopono ai i nā ʻāpana like ʻole o nā ʻaoʻao, no ka laʻana, e hoʻokaʻawale i ka helu helu e pili ana i ka lawelawe ʻana i nā hoʻolaha ma nā iframes, hōʻike ʻana i nā animation, ke pāʻani ʻana i nā leo a me nā wikiō, ke kaomi ʻana i ka ʻike, a me ka hoʻokō ʻana i ka JavaScript.

Hoʻokō ʻia nā hualoaʻa o Chromium e ka papahana RenderingNG

Hoʻokō ʻia nā ʻenehana hoʻoponopono:

  • Hāʻawi ʻo Chrome 94 i ka mīkini CompositeAfterPaint, e hāʻawi ana i ka hoʻohui ʻana i nā ʻāpana i hoʻokaʻawale ʻia o nā ʻaoʻao pūnaewele a hiki iā ʻoe ke hoʻonui i ka ukana ma ka GPU. Wahi a ka ʻikepili telemetry mea hoʻohana, ua hoʻemi ka ʻōnaehana compositing hou i ka scrolling latency e 8%, hoʻonui i ka pane ʻana o ka mea hoʻohana e 3%, hoʻonui i ka wikiwiki o ka hāʻawi ʻana ma 3%, hoʻemi ʻia ka hoʻohana ʻana i ka hoʻomanaʻo GPU e 3%, a hoʻonui i ke ola pākaukau e 0.5%.
  • Ua hoʻolauna ʻia ʻo GPU Raster, kahi ʻenehana rasterization ʻaoʻao GPU ma nā kahua āpau i 2020 a ua wikiwiki ʻo MotionMark benchmarks ma ka awelika o 37% a me nā hōʻailona pili HTML e 150%. I kēia makahiki, ua hoʻonui ʻia ʻo GPU Raster me ka hiki ke hoʻohana i ka wikiwiki o ka ʻaoʻao GPU e hāʻawi i nā mea Canvas, e hopena ana i ka 1000% wikiwiki a me ka 1.2% wikiwiki loa MotionMark 130 benchmarks.
  • He hoʻolālā hou ʻo LayoutNG i nā algorithms layout element ʻaoʻao e pili ana i ka hoʻonui ʻana i ka hilinaʻi a me ka wānana. Hoʻolālā ʻia ka papahana e lawe ʻia i nā mea hoʻohana i kēia makahiki.
  • BlinkNG - hoʻomaʻemaʻe a me ka hoʻomaʻemaʻe ʻana i ka mīkini Blink, ka hoʻokaʻawale ʻana i nā hana hana i nā ʻāpana i hoʻokaʻawale ʻia e hoʻomaikaʻi ai i ka pono o ka caching a maʻalahi i ka hana palaualelo, e noʻonoʻo ana i ka ʻike o nā mea i ka puka makani. Hoʻopau ʻia ka hana i kēia makahiki.
  • Ke hoʻoneʻe nei i ka scrolling, animation a me ke kiʻi decoding handler e hoʻokaʻawale i nā pae. Ke ulu nei ka papahana mai 2011 a i kēia makahiki ua loaʻa iā ia ka hiki ke hoʻokuʻu aku i nā hoʻololi CSS animated a me nā animation SVG e hoʻokaʻawale i nā kaula.
  • ʻO VideoNG kahi mīkini kūpono a hilinaʻi hoʻi no ka pāʻani wikiō ma nā ʻaoʻao pūnaewele. I kēia makahiki, ua hoʻokō ʻia ka hiki ke hōʻike i ka ʻike i pale ʻia i ka hoʻonā 4K. Ua hoʻohui mua ʻia ke kākoʻo HDR.
  • ʻO Viz - nā kaʻina hana kaʻawale no ka rasterization (OOP-R - Out-of-process Raster) a me ka hoʻolilo ʻana (OOP-D - Out of process display compositor), e hoʻokaʻawale ana i ka unuhi ʻana o ka polokalamu kele pūnaewele mai ka hāʻawi ʻana i ka ʻaoʻao ʻaoʻao. Ke hoʻomohala nei ka papahana i ke kaʻina hana SkiaRenderer, e hoʻohana ana i nā API kiʻi kikoʻī kikoʻī (Vulkan, D3D12, Metal). ʻO ka hoʻololi i hiki ke hōʻemi i ka nui o nā ulia ma muli o nā pilikia i nā mea hoʻokele kiʻi e 6 mau manawa.

Source: opennet.ru

Pākuʻi i ka manaʻo hoʻopuka