Удержание краски — уменьшение мерцания белого цвета при навигации одного и того же источника.

В течение некоторого времени Chrome активно очищал экран при переходе на новую страницу, чтобы дать пользователям уверенность в том, что страница загружается. Эта «вспышка белого» — это тот краткий момент, в течение которого браузер показывает белую краску при загрузке страницы. Это может отвлекать в промежутках между переходами, особенно когда страница достаточно быстро переходит в более интересное состояние.

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

Мы большие поклонники этого веб-сайта, и нас убивает то, что на их качественном опыте появляются белые пятна, и мы хотели это исправить. Мы сделали это с помощью нового поведения, которое мы называем Paint Holding, при котором браузер некоторое время ждет, прежде чем начать рисовать, особенно если страница достаточно быстрая. Это гарантирует, что страница отображается как единое целое, обеспечивая действительно мгновенное восприятие.

Это работает так: мы откладываем фиксации компоновщика до тех пор, пока не будет достигнут заданный сигнал загрузки страницы (PLS) (например, первая отрисовка содержимого/фиксированный тайм-аут). Мы различаем работу по рендерингу в основном потоке и фиксируем работу в потоке impl (отложен только последний). Ожидание появления PLS снижает вероятность появления белых/сплошных вспышек.

Наша цель в этой работе заключалась в том, чтобы навигация в Chrome между двумя страницами одного и того же происхождения была бесшовной и, таким образом, обеспечивала быструю навигацию по умолчанию без вспышек белого/сплошного цвета фона между старым и новым контентом.

Попробуйте Paint Holding в Chrome Canary (Chrome 76) и сообщите нам свое мнение. Разработчикам не нужно беспокоиться о внесении каких-либо изменений в свои страницы, чтобы воспользоваться этими преимуществами.