Hasil optimasi Chromium dilaksanakeun ku proyék RenderingNG

Pamekar Chromium parantos nyimpulkeun hasil munggaran tina proyék RenderingNG, diluncurkeun 8 sababaraha taun ka pengker, ditujukeun pikeun padamelan anu terus-terusan ningkatkeun kinerja, réliabilitas sareng ekstensibilitas Chrome.

Salaku conto, optimasi anu ditambah dina Chrome 94 dibandingkeun sareng Chrome 93 nyababkeun panurunan 8% dina latén rendering halaman sareng paningkatan 0.5% dina umur batre. Dumasar kana ukuran basa pangguna Chrome, ieu ngagambarkeun tabungan global langkung ti 1400 taun waktos CPU unggal dinten. Dibandingkeun jeung vérsi saméméhna, Chrome modern ngajadikeun grafik leuwih ti 150% leuwih gancang sarta 6 kali kirang rentan ka kacilakaan supir GPU dina hardware masalah.

Diantara metodeu anu dilaksanakeun pikeun ngahontal kauntungan kinerja, kami nyatet paralelisasi operasi rasterisasi tina piksel anu béda dina sisi GPU sareng distribusi prosesor anu langkung aktif dina sababaraha inti CPU anu béda (ngalaksanakeun JavaScript, ngolah halaman ngagulung, decoding video sareng gambar, rendering proaktif eusi). Faktor ngawatesan pikeun parallelization aktip nyaéta ngaronjatna beban dina CPU, nu reflected ku ngaronjatna suhu jeung ngaronjat konsumsi kakuatan, jadi hal anu penting pikeun ngahontal kasaimbangan optimal antara kinerja sarta konsumsi kakuatan. Salaku conto, nalika nganggo kakuatan batré, anjeun tiasa ngorbankeun laju rendering, tapi anjeun moal tiasa ngorbankeun ngolah ngagulung dina benang anu misah, sabab panurunan dina responsif antarmuka bakal katingali ku pangguna.

Téknologi anu dilaksanakeun dina kerangka proyék RenderingNG lengkep ngarobih pendekatan kana komposisi sareng ngamungkinkeun anjeun adaptasi nganggo téknologi anu béda pikeun ngaoptimalkeun itungan dina GPU sareng CPU anu aya hubunganana sareng bagian-bagian halaman masing-masing, kalayan nganggap fitur sapertos resolusi layar sareng tingkat refresh. , kitu ogé ayana dina sistem rojongan pikeun API grafik canggih, kayaning Vulkan, D3D12 jeung Metal. Conto optimasi kalebet pamakean aktif tina tékstur GPU cache sareng hasil rendering bagian halaman wéb, ogé ngan ukur merhatikeun daérah halaman anu katingali ku pangguna nalika rendering (teu aya gunana pikeun rendering bagian tina halaman wéb. kaca nu katutupan ku eusi lianna).

Unsur penting RenderingNG ogé pikeun ngasingkeun kinerja nalika ngolah bagian-bagian halaman anu béda, contona, ngasingkeun komputasi anu aya hubunganana sareng ngalayanan iklan dina iframes, mintonkeun animasi, maén audio sareng video, ngagulung eusi, sareng ngalaksanakeun JavaScript.

Hasil optimasi Chromium dilaksanakeun ku proyék RenderingNG

Téhnik optimasi anu dilaksanakeun:

  • Chrome 94 nawarkeun mékanisme CompositeAfterPaint, nu nyadiakeun compositing bagian rendered misah kaca web tur ngidinan Anjeun pikeun dinamis skala beban dina GPU. Numutkeun data telemétri pamaké, sistem compositing anyar ngurangan latency ngagulung ku 8%, ngaronjat pangalaman pamaké responsiveness ku 3%, ngaronjat speed rendering ku 3%, ngurangan konsumsi memori GPU ku 3%, sarta manjangkeun umur batre ku 0.5%.
  • GPU Raster, mesin rasterisasi sisi GPU, diwanohkeun ka sadaya platform dina 2020 sareng parantos ngagancangkeun tolok ukur MotionMark rata-rata 37% sareng tolok ukur anu aya hubunganana sareng HTML ku 150%. Taun ieu, GPU Raster ditingkatkeun kalayan kamampuan ngagunakeun akselerasi sisi GPU pikeun ngajantenkeun elemen Kanvas, nyababkeun rendering outline 1000% langkung gancang sareng 1.2% tolok ukur MotionMark 130 langkung gancang.
  • LayoutNG mangrupikeun desain ulang lengkep tina algoritma perenah unsur halaman anu ditujukeun pikeun ningkatkeun reliabilitas sareng prediksi. Proyék ieu rencanana bakal dibawa ka pangguna taun ieu.
  • BlinkNG - refactoring jeung meresihan mesin Blink, ngabagi operasi Rendering kana fase dieksekusi misah pikeun ngaronjatkeun efisiensi cache sarta simplify Rendering puguh, nyokot kana akun pisibilitas objék dina jandela. Gawéna dijadwalkeun réngsé taun ieu.
  • Pindah ngagulung, animasi sareng panangan decoding gambar pikeun misahkeun benang. Proyék ieu parantos dikembangkeun saprak 2011 sareng taun ieu ngahontal kamampuan pikeun ngékspor transformasi CSS animasi sareng animasi SVG pikeun misahkeun benang.
  • VideoNG mangrupikeun mesin anu efisien sareng dipercaya pikeun maén pidéo dina halaman wéb. Taun ieu, kamampuan pikeun nampilkeun eusi anu ditangtayungan dina resolusi 4K parantos dilaksanakeun. Pangrojong HDR saméméhna ditambahkeun.
  • Viz - prosés misah pikeun rasterization (OOP-R - Out-of-prosés Raster) jeung rendering (OOP-D - Out of prosés tampilan compositor), misahkeun Rendering tina panganteur browser ti Rendering eusi kaca. Proyék ieu ogé ngembangkeun prosés SkiaRenderer, anu nganggo API grafik khusus platform (Vulkan, D3D12, Metal). Parobihan ngamungkinkeun pikeun ngirangan jumlah kacilakaan kusabab masalah dina supir grafik ku 6 kali.

sumber: opennet.ru

Tambahkeun komentar