Эксперимент c таймерами JavaScript в Chrome существенно экономит заряд аккума

В Google, как известно, уже некоторое время активно экспериментируют с Chrome на предмет выяснить степень влияния JavaScript в фоновых вкладках на производительность и энергопотребление браузера.

По результатам  анализа «поведения» страниц ряда популярных сайтов в фоновых вкладках Chrome специалисты пришли к выводу, что значительную нагрузку дают так называемые таймеры JavaScript (на https://itvdn.com/ru/specialities/angular-dev подробнее о возможностях JavaScript, технологиях разработки современных веб-приложений и повышении профессионального уровня разработчика).

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

То есть, расходует больше заряда аккумулятора смартфона, планшета или ноутбука.

В последней версии официальной версии Chrome частота срабатываний таймеров JavaScript ограничена 1 разом в секунду (60 раз в минуту).

И вот, в качестве очередного эксперимента решено было еще больше «подкрутить» ограничитель частоты срабатывания таймеров JavaScript в фоновых вкладках Chrome и посмотреть, как это скажется на уровне его энергопотребления. И, соответственно, на времени автономной работы мобильных девайсов, на которых он установлен.

Получилось следующее:

  • Эксперимент 1: 36 популярных сайтов в фоновых вкладках, в активной вкладке — пустая страница (about:blank):
    • стандартное ограничение таймеров JavaScript: среднее время разрядки — 6.4 часа;
    • сокращенное количество срабатываний таймеров JavaScript: среднее время разрядки — 8.2 часа.
  • Эксперимент 2: 36 популярных сайтов в фоновых вкладках, в активной вкладке — страница YouTube:
    • стандартное ограничение таймеров JavaScript: среднее время разрядки — 4.7 часа;
    • сокращенное количество срабатываний таймеров JavaScript: среднее время разрядки — 5.3 часа.

Как видим, разница весьма и весьма существенная. В этой связи также отметим, что упомянутый экспериментальный «ограничитель» JavaScript в Chrome в настоящее время так и называется — Throttle Javascript timers in background.

Согласно описанию функции, в активном режиме она ограничивает количество срабатываний таймеров DOM до 1 раза в минуту и автоматически включается на странице сайта, которая дольше 5 минут остается в скрытой (фоновой) вкладке Chrome.

как уменьшить частоту срабатываний таймеров JavaScript в фоновых вкладках Chrome

В обычном Chrome эта функция еще не доступна, но в Canary она уже есть (так что, должна появится и в 86-й версии официальной сборки для Windows, macOS, Linux, Android и Chrome OS).

Правда, доступна она пока только в скрытых настройках, потому по умолчанию отключена. Но процедура её активации стандартная:

  • в адресной строке браузера пишем chrome://flags и жмем Enter;
  • в строке поиска на странице экспериментальных настроек пишем throttle javascript
  • включаем функцию Throttle Javascript timers in background (Enabled в меню рядом);
  • перезапускаем браузер.

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

Известно также, что в случае успешной реализации данного нововведения, такой же «ограничитель», вероятнее всего, появится и у Microsoft Edge, Brave, Vivaldi и Opera (если разработчики не заблокируют его принудительно).

Что будем искать? Например,VPN

Мы в социальных сетях