RenderingNG loyihasi tomonidan amalga oshirilgan Chromium optimallashtirish natijalari

Chromium ishlab chiquvchilari 8 yil oldin ishga tushirilgan, Chrome’ning unumdorligi, ishonchliligi va kengaytirilishini oshirish bo‘yicha doimiy ishlarga qaratilgan RenderingNG loyihasining birinchi natijalarini sarhisob qildi.

Masalan, Chrome 94-ga Chrome 93-ga nisbatan qo‘shilgan optimallashtirishlar sahifani ko‘rsatish kechikishini 8 foizga qisqartirishga va batareyaning ishlash muddatini 0.5 foizga oshirishga olib keldi. Chrome foydalanuvchi bazasi hajmiga asoslanib, bu har kuni 1400 yildan ortiq protsessor vaqtini global tejashni anglatadi. Oldingi versiyalar bilan solishtirganda, zamonaviy Chrome grafiklarni 150% dan tezroq beradi va muammoli uskunada GPU drayveri ishdan chiqishiga 6 baravar kamroq sezgir.

Amalga oshirilgan samaradorlikka erishish usullari orasida biz GPU tomonida turli piksellarni rasterlashtirish operatsiyalarini parallellashtirishni va protsessorlarning turli CPU yadrolari bo'ylab faolroq taqsimlanishini (JavaScript-ni bajarish, sahifalarni aylantirish, video va tasvirlarni dekodlash, proaktiv renderlash) qayd etdik. mazmuni). Faol parallellashtirish uchun cheklovchi omil protsessorga yukning ortib borishi bo'lib, u haroratning oshishi va quvvat sarfining oshishi bilan namoyon bo'ladi, shuning uchun ishlash va quvvat sarfi o'rtasidagi optimal muvozanatga erishish muhimdir. Masalan, batareya quvvati bilan ishlayotganingizda, siz renderlash tezligini qurbon qilishingiz mumkin, lekin siz alohida ish zarrachasida aylantirish jarayonini qurbon qila olmaysiz, chunki interfeys sezgirligining pasayishi foydalanuvchi uchun sezilarli bo'ladi.

RenderingNG loyihasi doirasida amalga oshirilgan texnologiyalar kompozitsiyaga yondashuvni butunlay o'zgartiradi va ekran o'lchamlari va yangilanish tezligi kabi xususiyatlarni hisobga olgan holda sahifalarning alohida qismlariga nisbatan GPU va protsessorda hisob-kitoblarni optimallashtirish uchun turli texnologiyalardan moslashtirilgan tarzda foydalanishga imkon beradi. , shuningdek, Vulkan, D3D12 va Metal kabi ilg'or grafik API-larni qo'llab-quvvatlash tizimida mavjudligi. Optimallashtirishga misollar orasida GPU teksturalarini keshlashdan faol foydalanish va veb-sahifalar qismlarining natijalarini ko'rsatish, shuningdek, renderlashda foydalanuvchiga ko'rinadigan sahifaning faqat maydonini hisobga olish kiradi (foydalanuvchi qismlarni ko'rsatishdan foyda yo'q). boshqa kontent bilan qoplangan sahifa).

RenderingNG ning muhim elementi, shuningdek, sahifalarning turli qismlarini qayta ishlashda unumdorlikni ajratish, masalan, iframe'larda reklamalarni ko'rsatish, animatsiyalarni ko'rsatish, audio va videolarni ijro etish, kontentni aylantirish va JavaScript-ni bajarish bilan bog'liq hisob-kitoblarni izolyatsiya qilishdir.

RenderingNG loyihasi tomonidan amalga oshirilgan Chromium optimallashtirish natijalari

Amalga oshirilgan optimallashtirish texnikasi:

  • Chrome 94 CompositeAfterPaint mexanizmini taklif etadi, u veb-sahifalarning alohida ko'rsatilgan qismlarini birlashtirishni ta'minlaydi va GPUdagi yukni dinamik ravishda o'lchash imkonini beradi. Foydalanuvchi telemetriyasi ma'lumotlariga ko'ra, yangi kompozitsion tizim aylantirish kechikishini 8% ga qisqartirdi, foydalanuvchi tajribasining sezgirligini 3% ga oshirdi, renderlash tezligini 3% ga oshirdi, GPU xotirasi sarfini 3% ga qisqartirdi va batareyaning ishlash muddatini 0.5% ga uzaytirdi.
  • GPU Raster, GPU tomonidagi rasterizatsiya mexanizmi 2020-yilda barcha platformalarda taqdim etilgan va MotionMark koʻrsatkichlarini oʻrtacha 37% ga va HTML bilan bogʻliq benchmarklarni 150% ga tezlashtirgan. Bu yil GPU Raster Canvas elementlarini renderlash uchun GPU tomonidagi tezlashtirishdan foydalanish qobiliyati bilan takomillashtirildi, natijada konturni 1000% tezroq va MotionMark 1.2 mezonlari 130% tezlashdi.
  • LayoutNG - ishonchlilik va bashoratlilikni oshirishga qaratilgan sahifa elementlarini joylashtirish algoritmlarini to'liq qayta loyihalash. Loyiha joriy yilda foydalanuvchilarga taqdim etilishi rejalashtirilgan.
  • BlinkNG - Blink dvigatelini qayta ishlash va tozalash, keshlash samaradorligini oshirish va oynadagi ob'ektlarning ko'rinishini hisobga olgan holda dangasa ko'rsatishni soddalashtirish uchun renderlash operatsiyalarini alohida bajariladigan bosqichlarga bo'lish. Ishlarni joriy yilda yakunlash rejalashtirilgan.
  • O'tkazish, animatsiya va tasvirni dekodlash ishlov beruvchilarini alohida mavzularga ko'chirish. Loyiha 2011 yildan beri rivojlanmoqda va bu yil u animatsion CSS transformatsiyalari va SVG animatsiyalarini alohida mavzularga eksport qilish imkoniyatiga erishdi.
  • VideoNG veb-sahifalarda video o'ynatish uchun samarali va ishonchli vositadir. Bu yil himoyalangan kontentni 4K piksellar sonida ko‘rsatish imkoniyati joriy etildi. HDR qo'llab-quvvatlashi avval qo'shilgan edi.
  • Viz - rasterlashtirish (OOP-R - jarayondan tashqari Raster) va renderlash (OOP-D - jarayondan tashqari displey kompozitori) uchun alohida jarayonlar, brauzer interfeysini ko'rsatishni sahifa tarkibini ko'rsatishdan ajratib turadi. Loyiha, shuningdek, platformaga xos grafik API (Vulkan, D3D12, Metal) dan foydalanadigan SkiaRenderer jarayonini ishlab chiqmoqda. O'zgartirish grafik drayverlardagi muammolar tufayli nosozliklar sonini 6 barobar kamaytirish imkonini berdi.

Manba: opennet.ru

a Izoh qo'shish