Разработчики Chromium опубликовали результаты оптимизации проекта RenderingNG

Представлены разработчики Chromium в последнее время первые результаты проекта RenderingNG (выпущен 8 лет назад), который предназначен для непрерывной работы по повышению производительности, надежности и расширяемости Chrome.

Технологии, реализованные в рамках проекта RenderingNG, полностью меняют подход к композиции. и позволяют адаптивно использовать различные технологии для оптимизации вычислений на GPU и CPU по отношению к отдельным частям страниц с учетом таких характеристик, как разрешение и частота обновления экрана, а также наличие поддержки расширенных графических API в системы, такие как Vulkan, D3D12 и Metal.

Среди реализованных методов, позволяющих добиться прироста производительности, распараллеливание операций растеризации разных пикселей на стороне GPU и более активное разделение обработчиков на разных ядрах CPU (выполнение JavaScript, обработка прокрутки страниц, декодирование видео и изображений, проактивное рендеринг контента) оцениваются.

Ограничивающим фактором активного распараллеливания является повышенная нагрузка на ЦП., что отражается в повышении температуры и увеличении потребления энергии, поэтому важно достичь оптимального баланса между производительностью и потреблением энергии.. Например, при работе от батареи вы можете пожертвовать скоростью рендеринга, но вы не можете жертвовать обработкой прокрутки в отдельном потоке, так как уменьшение отзывчивости интерфейса будет заметно для пользователя.

Например, оптимизация, добавленная в выпуске Chrome 94 по сравнению с Chrome 93, привела к увеличению задержки страницы на 8% и увеличению времени автономной работы на 0,5%. Исходя из размера пользовательской базы Chrome, эти цифры означают, что в глобальном масштабе экономия процессорного времени составляет более 1.400 лет каждый день. По сравнению с версиями предыдущего года, современный Chrome отображает графику быстрее более чем на 150% и в 6 раз меньше подвержен сбоям драйвера графического процессора на проблемном оборудовании.

В качестве примеров оптимизаций упоминается активное использование кэширования текстур GPU и результаты рендеринга частей веб-страниц, а также учет при рендеринге только видимой пользователю области страницы (не имеет смысла для рендеринга частей страницы, покрытых другим контентом).

Важным элементом RenderingNG также является изоляция производительности при рендеринге разных частей страниц.Например, чтобы изолировать вычисления, связанные с отображением рекламы в окнах iframe, рендерингом анимации, воспроизведением аудио и видео, прокруткой контента и выполнением JavaScript.

Из реализованных методов оптимизации упоминаются следующие:

  • Chrome 94 оснащен механизмом CompositeAfterPaint, который составляет отдельно визуализированные части веб-страниц и динамически масштабирует нагрузку на графический процессор. Согласно данным, полученным от пользователя в результате сбора телеметрии, применение новой системы компоновки позволяет уменьшить задержку при прокрутке до 8%, повысить скорость отклика взаимодействия с пользователем до 3%, увеличить скорость рендеринга на 3%. и Уменьшает потребление памяти графическим процессором на 3% и увеличивает время автономной работы на 0,5%.
  • Графический растр: Механизм растеризации на стороне GPU, он был встроен во все платформы в 2020 году и позволил ускорить прохождение теста MotionMark в среднем на 37%, а категорий, связанных с HTML, на 150%.
  • МакетNG: представляет собой всесторонний обзор алгоритмов проектирования элементов страницы, предназначенный для повышения надежности и предсказуемости. Ожидается, что проект достигнет пользователей в этом году.
  • BlinkNG - Рефакторинг и очистка движка Blink, разделение операций рендеринга на отдельные фазы для повышения эффективности кэширования и упрощения отложенного рендеринга с учетом видимости объектов в окне.
  • Перенос контроллеров смещения, анимации и декодирования изображений в отдельные потоки. Проект находится в разработке с 2011 года, и в этом году он достиг возможности переноса анимированных преобразований CSS и анимации SVG в отдельные потоки.
  • ВидеоNG: это эффективный и надежный движок для воспроизведения видео на веб-страницах. В этом году была реализована возможность отображать защищенный контент в разрешении 4K. Поддержка HDR была добавлена ​​ранее.
  • Дисплей: отдельные процессы для растеризации и рендеринга, отделяя рендеринг интерфейса браузера от рендеринга содержимого страницы.

источник: https://blog.chromium.org


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.