Размеры сайтов с годами только растут. Исследование компании KeyCDN показывает, что средний размер веб-страниц вырос с 700 килобайт в 2010 году до 2300 килобайт в 2016 году.
Тем временем, скорости доступа в Интернет не растут также стремительно во многих регионах. Это утверждение справедливо и для вычислительных мощностей. Все это приводит к длительному времени загрузки и отрисовки страниц.
Google опубликовала код прототипа новой функции на сайте разработки Chromium. Основная идея Never-Slow Mode – добавить ограниченные квоты для определенных типов ресурсов.
В описании функции сообщается:
Блокирует крупные скрипты, устанавливает квоты для определенных типов ресурсов (скрипты, шрифты, таблицы стилей, изображения), отключает document.write(), стирает данные sync XHR, глобально включает client-hints и буферизирует ресурсы без заголовка Content-Length. Квоты перераспределяются при взаимодействии со страницей (клик, нажатие или прокрутка). Длительные задачи скриптов (более 200 мс) приостанавливают исполнении страницы до следующего взаимодействия.
На данный момент тестируются значения, связанные с лимитами для таблиц стилей, изображения, скриптов и шрифтов. Так, например, размер CSS ограничен 100 килобайтами, а изображения имеют запас в 2 мегабайта.
Ресурсы, которые превышают размер квоты, будут блокироваться браузером. Google отмечает, что некоторые типы ресурсов, например скрипты Service Worker не будут ограничиваться, и ограничения размера применяются к сжатым состояниям ресурсов.
Динсан Франсис (Dinsan Francis) с сайта chromestory.com нашел описание экспериментального флага в коде. Флаг называется Enable Never-Slow Mode:
Активирует экспериментальный режим браузера, которые ограничивает загрузку ресурсов и время обработки для обеспечения быстрой работы. Предупреждение: возможно нарушение работы сайтов!
Google предупреждает, что данная функция может нарушить работу сайтов из-за блокировки контента. Также доступен параметр запуска Chrome --enable-features=NeverSlowMode для принудительного включения функции. На данный момент оба варианта (флаг и параметр) не работают.
Пока неясно, будет ли заблокированный контент загружен, когда ресурсы станут снова доступны, или они будут заблокированы на постоянной основе. Блокировка сценариев, изображений и других типов контента, безусловно, может привести к нарушению работы многих веб-сайтов. Будет интересно посмотреть, как Google планирует решить эту проблему.
Обновления программ, что нового
• Microsoft Edge для iOS получил поддержку расширений
• Android 16 получит полноценную поддержку «Живых обновлений»: альтернатива Live Activities от Apple
• Релиз Vivaldi 7.5: цветные группы вкладок, поддержка DoH и другие изменения
• Обновление Opera One: Встроенный переводчик страниц и улучшенный режим разделения экрана
• Valve добавила новый монитор производительности в оверлей Steam для всех пользователей
• Обновление клиента Steam: Proton по умолчанию для Linux, новый монитор производительности и улучшения для Steam Deck