RenderingNG жобасы жүзеге асырған Chromium оңтайландыру нәтижелері

Chromium әзірлеушілері Chrome өнімділігін, сенімділігін және кеңейту мүмкіндігін арттыру бойынша үздіксіз жұмысты көздейтін 8 жыл бұрын іске қосылған RenderingNG жобасының алғашқы нәтижелерін қорытындылады.

Мысалы, Chrome 94 нұсқасымен салыстырғанда Chrome 93 жүйесінде қосылған оңтайландырулар бетті көрсету кідірісін 8%-ға қысқартуға және батареяның қызмет ету мерзімін 0.5%-ға арттыруға әкелді. Chrome пайдаланушы базасының көлеміне сүйене отырып, бұл күн сайын 1400 жылдан астам CPU уақытын жаһандық үнемдеуді білдіреді. Алдыңғы нұсқалармен салыстырғанда, заманауи Chrome графиканы 150% жылдамырақ көрсетеді және ақаулы жабдықта GPU драйверінің бұзылуына 6 есе аз сезімтал.

Өнімділікке қол жеткізу үшін енгізілген әдістердің арасында біз GPU жағында әртүрлі пикселдердің растризация операцияларының параллелизациясын және процессорлардың әртүрлі CPU ядролары бойынша белсендірек таралуын атап өттік (JavaScript орындау, бетті айналдыруды өңдеу, бейнелер мен кескіндерді декодтау, проактивті көрсету. мазмұны). Белсенді параллелизацияның шектеуші факторы орталық процессорға жүктеменің артуы болып табылады, ол температураның жоғарылауымен және қуат тұтынудың жоғарылауымен көрінеді, сондықтан өнімділік пен қуат тұтыну арасындағы оңтайлы теңгерімге қол жеткізу маңызды. Мысалы, батарея қуатымен жұмыс істегенде, көрсету жылдамдығын жоғалтуға болады, бірақ бөлек ағында айналдыруды өңдеуді құрбан ете алмайсыз, өйткені интерфейстің жауап беру қабілетінің төмендеуі пайдаланушыға байқалады.

RenderingNG жобасы аясында жүзеге асырылатын технологиялар композицияға деген көзқарасты толығымен өзгертеді және экран ажыратымдылығы мен жаңарту жылдамдығы сияқты мүмкіндіктерді ескере отырып, беттердің жеке бөліктеріне қатысты GPU мен CPU-да есептеулерді оңтайландыру үшін әртүрлі технологияларды бейімдеуге мүмкіндік береді. , сондай-ақ Vulkan, D3D12 және Metal сияқты кеңейтілген графикалық API қолдау жүйесінде болуы. Оңтайландыру мысалдары GPU текстураларын кэштеуді белсенді пайдалануды және веб-беттер бөліктерінің нәтижелерін көрсетуді, сондай-ақ көрсету кезінде пайдаланушыға көрінетін бет аймағын ғана есепке алуды қамтиды (сурет бөліктерін көрсетудің қажеті жоқ). басқа мазмұнмен қамтылған бет).

RenderingNG маңызды элементі сонымен қатар беттердің әртүрлі бөліктерін өңдеу кезінде өнімділікті оқшаулау болып табылады, мысалы, iframe файлдарында жарнамаларды көрсетумен, анимацияларды көрсетумен, аудио және бейнені ойнатумен, мазмұнды айналдырумен және JavaScript орындаумен байланысты есептеулерді оқшаулау.

RenderingNG жобасы жүзеге асырған Chromium оңтайландыру нәтижелері

Оңтайландырудың енгізілген әдістері:

  • Chrome 94 веб-беттердің бөлек көрсетілген бөліктерін біріктіруді қамтамасыз ететін және графикалық процессордағы жүктемені динамикалық түрде масштабтауға мүмкіндік беретін CompositeAfterPaint механизмін ұсынады. Пайдаланушы телеметриясының деректеріне сәйкес, жаңа құрастыру жүйесі айналдыру кідірісін 8%-ға қысқартты, пайдаланушы тәжірибесінің жауап беру қабілетін 3%-ға арттырды, көрсету жылдамдығын 3%-ға арттырды, GPU жадын тұтынуды 3%-ға азайтты және батареяның қызмет ету мерзімін 0.5%-ға ұзартты.
  • GPU Raster, GPU жағындағы растризация қозғалтқышы 2020 жылы барлық платформаларда ұсынылды және MotionMark көрсеткіштерін орта есеппен 37%-ға және HTML-ге қатысты эталондарды 150%-ға жылдамдатты. Биылғы жылы GPU Raster Canvas элементтерін көрсету үшін GPU жағындағы жеделдетуді пайдалану мүмкіндігімен жақсартылды, нәтижесінде контурды көрсету 1000% және MotionMark 1.2 көрсеткіштері 130% жылдамырақ болды.
  • LayoutNG - сенімділік пен болжамдылықты арттыруға бағытталған бет элементтерінің орналасу алгоритмдерінің толық қайта дизайны. Жобаны ағымдағы жылы пайдаланушыларға жеткізу жоспарлануда.
  • BlinkNG - терезедегі нысандардың көрінуін ескере отырып, кэштеу тиімділігін арттыру және жалқау көрсетуді жеңілдету үшін Blink қозғалтқышын рефакторинг және тазалау, көрсету операцияларын бөлек орындалатын фазаларға бөлу. Жұмыстар биыл аяқталады деп жоспарлануда.
  • Айналдыру, анимация және кескінді декодтау өңдегіштерін бөлек ағындарға жылжыту. Жоба 2011 жылдан бері дамып келеді және осы жылы ол анимациялық CSS түрлендірулерін және SVG анимацияларын бөлек ағындарға экспорттау мүмкіндігіне қол жеткізді.
  • VideoNG - веб-беттерде бейне ойнатуға арналған тиімді және сенімді қозғалтқыш. Биылғы жылы қорғалған мазмұнды 4K ажыратымдылығында көрсету мүмкіндігі енгізілді. HDR қолдауы бұрын қосылған болатын.
  • Viz - растризацияға (OOP-R - процесстен тыс растр) және рендерингке (OOP-D - процесстен тыс дисплей құрастырушысына) арналған бөлек процестер, браузер интерфейсін көрсетуді бет мазмұнын көрсетуден бөледі. Жоба сонымен қатар платформаға арналған графикалық API интерфейстерін (Vulkan, D3D12, Metal) пайдаланатын SkiaRenderer процесін әзірлеуде. Өзгеріс графикалық драйверлердегі ақауларға байланысты апаттардың санын 6 есе азайтуға мүмкіндік берді.

Ақпарат көзі: opennet.ru

пікір қалдыру