Будущие обновления в рендеринге 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 уменьшит нагрузку на основной поток и переместит работу компоновки в менее загруженный поток, следствие — производительность отрисовки вырастит.
Нашли ошибку или опечатку? Предложите исправление