На прошлой неделе компания Google представила очередную версию браузера Chrome, благодаря которой при наличии множества открытых вкладок ноутбуки и планшеты будут работать дольше прежнего. В сентябре разработчики Chromium обещали изменения в процессе обработки вкладок в фоновом режиме. Отныне эти вкладки смогут использовать не больше 1% возможностей вычислительного ядра процессора.
Когда вкладки находятся не в фокусе больше 10 секунд, у каждой из них есть так называемый «бюджет» (в секундах), количество выделяемого процессором времени для работы с этой вкладкой. Вкладка в фоновом режиме может использовать процессор, если только не израсходовала весь бюджет. При этом постоянно происходит регенерация бюджета со скоростью 0,01 секунды в секунду.
На некоторые вкладки эти ограничения распространяться не будут. В их число входят вкладки с воспроизведением аудио и с установленным соединением с сервером при помощи WebRTC или WebSockets. Разработчики говорят, что в будущем скорость регенерации может быть изменена по мере сбора статистики о работе данного механизма.
Пока же разработчики Chromium утверждают, что нагрузка от фоновых вкладок снизилась на 25%. В результате при множестве открытых вкладок браузер становится более отзывчивым на действия пользователя. Быстрее происходит переключение между вкладками, уменьшается задержка ввода текста и других взаимодействий.
В долгосрочной перспективе Google преследует ещё более амбициозные цели относительно работы вкладок в фоновом режиме, к 2020 году она хочет полностью запретить их. В нынешнем году на мобильных устройствах обновление фоновых вкладок будет приостанавливаться немедленно, сейчас они работают на протяжении 5 минут. В 2018 году будет приостанавливаться работа технологии Web Workers.
Google не собирается запретить многозадачную работу, вместо этого она противостоит расходующим много ресурсов процессам в фоновом режиме и хочет перевести разработчиков на новую технологию под названием Service Workers. Она позволит создавать веб-сайты с возможностью работы офлайн, push-уведомлениями, периодической фоновой синхронизацией с меньшим расходом ресурсов по сравнению с нынешними вариантами.