UfoStation

Будущие обновления в рендеринге Chromium

После ознакомления с этими материалами у вас появится понимание работы браузерного Rendering Pipeline и вы сможете разбираться в новостях подобным тем, что ниже

В будущих версиях браузера Сhromium разработчики собираются заняться некоторыми улучшениями в производительности отрисовки, в частности изменить модель работы потоков в процессе рендеринга. Первым таким улучшением будет фича Non-Blocking Commit, затем Off-main-thread Compositing.

Красным цветом на рисунке отмечена проблемная зона в Rendering Pipeline. Во время commit фазы основной поток делаем копии данных рендеринга для данных в потоке компоновщика. Во время этой синхронизации выполнение основного потока останавливается. Это делается для того, чтобы основной поток не модифицировал данные рендеринга, пока поток компоновщика их копирует.

Обсуждение проблемы: Issue 1255972: Non-Blocking Commit

Non-Blocking Commit

Реализации Non-Blocking Commit устранит задержку основного потока, в нем высвободится время на последующую работу, как следствие производительность отрисовки вырастит.

На момент марта 2022 года у разработчиков Chromium пока что имеется рабочий прототип Non-Blocking Commit и они готовится провести анализ влияния фичи на производительность.

Off-main-thread Compositing

Реализация этой архитектурной фичи возможна благодаря обновленному движку BlinkNG, в частности другой фиче Composite after paint

Документы описывающие фичи:

Off-main-thread Compositing
CompositeAfterPaint

Реализация Off-main-thread Compositing уменьшит нагрузку на основной поток и переместит работу компоновки в менее загруженный поток, следствие — производительность отрисовки вырастит.

Нашли ошибку или опечатку? Предложите исправление