Pull to refresh

Windows 10 будет подавлять фоновые приложения

Reading time3 min
Views19K

Диспетчер задач показывает, какие процессы находятся в «фоновом модерируемом» режиме для экономии заряда батареи. Источник: Microsoft

В январе 2017 года с билдом Insider Preview 15002 компания Microsoft начала эксперимент с частичным подавлением активности фоновых приложений. По результатам эксперимента на ограниченном количестве устройств выяснилось, что функция Power Throttling позволяет экономить до 11% заряда аккумулятора в наиболее экстремальных случаях. Поэтому сейчас решено сделать эту функцию частью билда 16176 в Insider Preview. Этот билд вышел несколько дней назад, он стал первым обновлением после выхода Creators Update.

В режиме Power Throttling фоновые процессы выполняются в самом энергосберегающем режиме. Процесс идёт, но с минимальными затратами энергии. Microsoft говорит, что с января внесла улучшения в Power Throttling, прислушавшись к пожеланиям пользователей, так что эта функция должна помочь экономить энергию на многих компьютерах.

Для работы функции Power Throttling задействуются аппаратные возможности современных процессоров, а именно — технология Speed Shift. Пока функция поддерживается только на процессорах Intel Core 6-го поколения и более поздних. Это Skylake и Kaby Lake. Microsoft сейчас работает, чтобы расширить поддержку и на другие процессоры, это может произойти в ближайшие несколько месяцев.

На практике энергосбережение в фоновых процессах требует внедрения «сложной системы обнаружения» на уровне операционной системы, объясняет Microsoft в официальном блоге. Windows нужно определить, какие из фоновых приложений важны для пользователя, а какие — не важны. Например, к важным фоновым приложениям относится воспроизведение музыки, а также некоторые другие важные задачи. Для большинства приложений «умное детектирование» работает хорошо, но на некоторых приложениях может глючить. Microsoft обращается с призывом сообщать о ситуациях, когда Power Throttling сработал некорректно. Для этого нужно запустить инструмент обратной связи Feedback Hub и сообщить о проблеме в категории Power and Battery → Throttled Applications.

Кроме того, можно самостоятельно контролировать агрессивность подавления фоновых приложений через ползунок.



Там этот режим можно сделать более агрессивным по сравнению с рекомендуемым значением (Battery Saver) или отключить вовсе (Best Perfomance).

В конце концов, есть возможность исключать конкретные приложения из режима «фоновой модерации». Это делается через свойства батареи (Settings → System → Battery). В окне “Battery Usage by App” выбирается нужное приложение и настройка “Managed by Windows” переводится в режим “Off”.

При работе ноутбука от сети функция Power Throttling не активируется. В связи с этим Microsoft рекомендует запускать бенчмарки, например, только в режиме работы от сети для получения объективного результата измерений производительности.

Разработчикам Microsoft обещает внести изменения в API, чтобы отдельные приложения имели прямой доступ к настройкам экономии электроэнергии при работе в фоновом режиме.


Так выглядел диспетчер задач в Insider Preview (билд 15002)

Примечание. В окончательной функции Power Throttling в диспетчер задач внесено изменение: для фоновых приложений теперь вместо термина «Приглушено» (Throttled) используется фраза «Модерируется в фоне» (Background Moderated).

Интересно, что функция Power Throttling в Windows 10 чем-то напоминает функции экономии заряда батарей в современных браузерах. Там это тоже осуществляется за счёт «приглушения» работы фоновых вкладок — скриптов, флеша и т. д. Например, браузер Chrome с предпоследней версии Chrome 57 активно подавляет работу фоновых вкладок. Там это делается чисто на программном уровне. У каждого компонента WebView есть бюджет (в секундах) для работы таймеров в фоновом режиме. Таймер не может запуститься, если бюджет отрицательный. После выполнения таймера его время работы вычитается из бюджета. Бюджет автоматически пополняется со временем (на 0,01 с бюджета с каждой секундой реального времени).


Подавление активности фоновых вкладок в Chrome 57

Главная причина реализации этой функции — некоторые плохо спроектированные приложения (например, скрипты аналитики и javascript-реклама) потребляют много ресурсов CPU, хотя находятся в фоновом режиме. Это негативно отражается на производительности браузера и потребляет энергию аккумулятора на мобильных устройствах.

На программном уровне работает и функция подавления фоновых приложений App Nap в macOS. В macOS таким способом можно даже увеличить производительность активного приложения.
Tags:
Hubs:
+11
Comments30

Articles

Change theme settings