RenderingNG төслөөс хэрэгжүүлсэн Chromium оновчлолын үр дүн

Chromium-ийн хөгжүүлэгчид Chrome-ын гүйцэтгэл, найдвартай байдал, өргөтгөх чадварыг нэмэгдүүлэхийн тулд 8 жилийн өмнө эхлүүлсэн RenderingNG төслийн эхний үр дүнг нэгтгэн дүгнэв.

Жишээлбэл, Chrome 94-т Chrome 93-тай харьцуулахад сайжруулсан оновчлолууд нь хуудас үзүүлэх хоцролтыг 8%-иар бууруулж, батерейны ажиллах хугацааг 0.5%-иар нэмэгдүүлсэн. Энэ нь Chrome-ын хэрэглэгчийн баазын хэмжээг харгалзан үзэхэд өдөр бүр 1400 гаруй жил CPU-ийн цагийг хэмнэж байна. Өмнөх хувилбаруудтай харьцуулахад орчин үеийн Chrome нь графикийг 150% -иас илүү хурдан гаргадаг бөгөөд асуудалтай техник хангамж дээр GPU драйверын эвдрэлд 6 дахин бага өртдөг.

Гүйцэтгэлийн өсөлтөд хүрэхийн тулд хэрэгжүүлсэн аргуудын дотроос бид GPU тал дээр янз бүрийн пикселийн растержуулалтын үйлдлүүдийг зэрэгцээ болгох, процессоруудыг өөр өөр CPU-ийн цөмд илүү идэвхтэй хуваарилах (JavaScript ажиллуулах, хуудас гүйлгэх, видео болон зургийг тайлах, идэвхтэй дүрслэх) зэргийг тэмдэглэв. агуулга). Идэвхтэй параллелжуулалтыг хязгаарлах хүчин зүйл нь CPU-ийн ачаалал нэмэгдэж байгаа бөгөөд энэ нь температурын өсөлт, эрчим хүчний хэрэглээ нэмэгдсэнээр илэрхийлэгддэг тул гүйцэтгэл ба эрчим хүчний зарцуулалтын оновчтой тэнцвэрийг хангах нь чухал юм. Жишээлбэл, батарейгаар ажиллах үед та дүрслэх хурдыг золиосолж болох боловч интерфэйсийн хариу үйлдэл буурах нь хэрэглэгчдэд мэдэгдэхүйц байх тул тусдаа хэлхээнд гүйлгэх боловсруулалтыг золиослох боломжгүй.

RenderingNG төслийн хүрээнд хэрэгжиж буй технологиуд нь нэгтгэх хандлагыг бүрэн өөрчилж, дэлгэцийн нягтрал, сэргээх хурд зэрэг онцлогуудыг харгалзан хуудасны бие даасан хэсгүүдтэй холбоотой GPU болон CPU дээр тооцооллыг оновчтой болгох өөр өөр технологийг ашиглах боломжийг олгодог. , түүнчлэн Vulkan, D3D12, Метал зэрэг дэвшилтэт график API-г дэмжих системд байгаа эсэх. Оновчлолын жишээнд GPU бүтцийг кэшлэх, вэб хуудсын хэсгүүдийн үр дүнг харуулах, мөн дүрслэх үед зөвхөн хэрэглэгчдэд харагдах хуудасны хэсгийг харгалзан үзэх зэрэг орно. бусад агуулгад хамрагдсан хуудас).

RenderingNG-ийн чухал элемент нь хуудасны өөр өөр хэсгүүдийг боловсруулахдаа гүйцэтгэлийг тусгаарлах, жишээлбэл, iframes-д зар үзүүлэх, хөдөлгөөнт дүрс үзүүлэх, аудио болон видео тоглуулах, контентыг гүйлгэх, JavaScript-г ажиллуулахтай холбоотой тооцооллыг тусгаарлах явдал юм.

RenderingNG төслөөс хэрэгжүүлсэн Chromium оновчлолын үр дүн

Хэрэгжүүлсэн оновчлолын техникүүд:

  • Chrome 94 нь CompositeAfterPaint механизмыг санал болгодог бөгөөд энэ нь вэб хуудсуудыг тусад нь харуулсан хэсгүүдийг нэгтгэх боломжийг олгодог бөгөөд GPU дээрх ачааллыг динамикаар нэмэгдүүлэх боломжийг олгодог. Хэрэглэгчийн телеметрийн мэдээллээс үзэхэд шинэ нэгтгэх систем нь гүйлгэх хоцролтыг 8%-иар бууруулж, хэрэглэгчийн туршлагын хариу үйлдэл үзүүлэх чадварыг 3%-иар нэмэгдүүлж, үзүүлэх хурдыг 3%-иар нэмэгдүүлж, GPU санах ойн хэрэглээг 3%-иар бууруулж, батерейны ашиглалтын хугацааг 0.5%-иар уртасгасан байна.
  • GPU талын растержуулалтын хөдөлгүүр болох GPU Raster нь 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 - Out-of-process растер) болон дүрслэх (OOP-D - Out of process display compositor) тусдаа процессууд бөгөөд хөтчийн интерфэйсийн дүрслэлийг хуудасны контентын дүрслэлээс тусгаарладаг. Төсөл нь мөн платформд зориулсан график API (Vulkan, D3D12, Metal) ашигладаг SkiaRenderer процессыг хөгжүүлж байна. Энэхүү өөрчлөлт нь график драйверуудын асуудлаас үүдэлтэй гэмтлийн тоог 6 дахин бууруулах боломжтой болсон.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх