19 апреля в 16:54

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


Диспетчер задач показывает, какие процессы находятся в «фоновом модерируемом» режиме для экономии заряда батареи. Источник: 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 таким способом можно даже увеличить производительность активного приложения.
Анатолий Ализар @alizar
карма
668,3
рейтинг 274,6
Редактор
Похожие публикации
Самое читаемое

Комментарии (30)

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

    Сразу вспоминается Windows Update, из-за которого старые компьютеры после инсталляции вставали колом на сутки, пока не установятся последние обновления на данный момент.
  • 0
    Как могут стараются ребята, но даже 11% никак не скомпенсируют двухчасовой разрыв в жизни акб между виндой и какой-нибудь убунтой. Серьезно, раньше ведь в этом плане выигрывала, что с тех пор так поломать можно было?
    • +2

      Не могу сказать что именно они поломали, но я окончательно ушел (изредка только для игр запускаю) с винды 10 на Linux Mint в том числе из-за того, что так и не смог контролировать, чем именно вот она сейчас сжирает все ресурсы и не дает мне нормально работать.
      Там какая-то тьма фоновых процессов, которые не возможно отключить (по крайней мере доступными настройками, без плясок с реестром) и которые не понятно что делают и когда запустятся и насколько долго.
      PS: Вин 10 была ОЕМ лицензия, вела себя так сразу же с чистовой установки с официального дистрибутива, то есть списать на пиратов или заражение никак не получится.

    • +3
      Самое главное это перезагрузки самостоятельные. Было уже пару раз что ЧПУ станок посреди ночи работать переставал, потому что винде обновление пришло.
      А еще на ноуте на линуксе блютус лучше работает чем на винде. Точнее сказать, блютус наушники на win10 у меня вообще не юзабельные, каждые несколько секунд соединение прерывается. А в линуксе все отлично работает из коробки.
      • 0
        С блютусом в винде вообще беда какая-то. Сколько лет пользуюсь блютусными девайсами (в основном гарнитуры), все время страдаю. То соединение нестабильное, то пляски с бубном при соединении. Недавно ради интереса подключил новую гарнитуру в десятке, чтобы посмотреть, как она работает с двумя устройствами разом. Работает как заявлено. Ну и ладно, больше не использовал их совместно, нет необходимости. Но теперь каждый раз при выходе из сна, винда мне сообщает, что гарнитура подключена, хотя это не так.
      • +5
        Всем страдальцам от автоматических перезагрузок:
        gpedit.msc — Локальный компьютер\Административные шаблоны\Компоненты Windows\Центр обновления Windows:
        Не выполнять автоматическую перезагрузку при автоматической установке обновлений, если в системе работают пользователи
        Или через реестр:
        Windows Registry Editor Version 5.00

        [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU]
        "NoAutoRebootWithLoggedOnUsers"=dword:00000001
        • 0
          Вот за это огромное спасибо! На работе очень любят устанавливать обновления в обед. Ну да, никто же не работает, и все задачи закрыты. Ах у тебя там отладка висит и открыта пара тонн логов с букмарками? Ну пофиг, твои проблемы. Обычно, конечно, спрашивает и даёт возможность отложить, но не всегда…
  • +1
    Почему бы не дать пользователю самому решать, какие процессы важные, а какие нет?
    • 0
      Так есть же.
      В конце концов, есть возможность исключать конкретные приложения из режима «фоновой модерации». Это делается через свойства батареи (Settings → System → Battery). В окне “Battery Usage by App” выбирается нужное приложение и настройка “Managed by Windows” переводится в режим “Off”.
      • 0

        Хотелось бы иметь возможность не чёрного списка, а белого. Т.е. выбирать для каких процессов включать этот режим, а для остальных нет.

        • 0
          ИМХО, как раз наоборот. В текущей реализации кейс такой — ой как хорошо, ноут долго живёт. Вот только плеер почему-то заикается. О, выключу ка я для него троттл.
          Вот так для всех важных задач поотключали и на выходе имеем максимально долгую жизнь батареи при отсутствии проблем с производительностью.
          В случае белого списка 90% людей не полезут его настраивать. А если и полезут, то начнётся «ой, а это мне надо, и это важно, и тут нельзя заглушать». Хотя возможно оно и в режиме троттлинга работало бы нормально.
    • +1
      Почему бы не дать пользователю самому решать, какие процессы важные, а какие нет?

      Таких пользователей (которые понимают что такое «процесс» и вообще что делает эта фигня), наверное, в районе 1% наберётся. А вот у кого жрётся батарея (кто это замечает) гораздо больше.
      То есть из коробки должно быть настроено всё более-менее нормально.
      • +1
        Согласен. Даже скажу, что понимание происходящего не очень помогает выявить каким программам стоит жить в фоне, а какие стоит притормозить. Сложно так сразу оценить, что жрет сверх необходимого, а чему тротлинг противопоказан. Вот у меня MIUI на телефоне. Эта сборка Андроида известна своим параноидальным желанием все прибить из экономии. Есть возможность на это повлиять. Я понимаю, что происходит, но на определение оптимальной конфигурации у меня ушла пара месяцев. Хотелось бы более интеллектуальных механизмов именно со стороны ОС, но с возможностью вмешаться при необходимости.
        • 0
          Не знаю, я вот прочитал новость, все хорошо конечно, но у меня дома планшет на 10 винде, работает 10-12 часов без подзарядки, вроде и есть смысл в идее, но в автоматическом режиме… настраивать ради еще одного часа работы как то лениво…
        • 0
          от у меня MIUI на телефоне. <...> Я понимаю, что происходит, но на определение оптимальной конфигурации у меня ушла пара месяцев.
          Аналогично, эта же сборка и примерно тот же срок, пока постепенно её не настроил. Но аккум живёт реально долго, несколько дней при обычном использовании.
      • 0
        Ошиблись на пару порядков минимум. Ещё с досовых времён привычка чистить систему от всего лишнего. Но уже в 7 висит куча сервисов и программ, назначение которых узнать уже просто непонятно как. Вот висит десяток svchost и что? Кто из них за что отвечает и что делает? Сейчас чисто по процессам удаётся их количество удерживать в пределе 40± шт. Большая же часть людей вообще не в курсе про какие-то процессы.
        • 0
          Вот висит десяток svchost и что? Кто из них за что отвечает и что делает?

          В диспетчере задач в десятке можно посмотреть за что отвечает каждый svchost. Но вот что делает «система и сжатая память» после перезагрузки такого, что минут 20 (!) не дает работать — вот это вопрос. Чем-то напоминает XP, которая вот уж вроде бы загрузилась, но на самом деле совсем нет.
          • 0
            Вот не буду я ради этого переходить на десятку, хотя и могу порадоваться за её пользователей. Впрочем, только до прочтения второго предложения.

            Да ладно, при Сталине такого ХР как раз тюнилась на ура и летала даже на нетбуках после этого. Не на современных, а на её ровесниках. С 7 уже начались проблемы в этом плане, хотя ещё можно жить. Что там дальше не знаю, пока 7ки хватает.
          • 0
            А можно чуть подробнее насчёт «можно посмотреть»?
            • +1
              Например, так:
              image
              • +1

                Проблема в том, что на каждом svchost висит целая пачка служб. В некоторых случаях их там больше десятка. В такой ситуации определить ту, которая выжрала весь процессор, становится затруднительно… хотя если в списке присутствует служба проверки обновлений, то это практически всегда она и есть. -_-

  • +8
    Microsoft обращается с призывом сообщать о ситуациях, когда Power Throttling сработал некорректно. Для этого нужно запустить инструмент обратной связи Feedback Hub и сообщить о проблеме в категории Power and Battery → Throttled Applications.
    Неужели собранной телеметрии не хватило?
    • 0
      >>собранной телеметрии
      Именно из-за телеметрии и убрали кнопку пуск, в добавок сделав метро систему на компе. Не, лучше уже самому написать — что хочешь получить от системы.
      • 0
        Не понял в чем связь телеметрии с пуском и метро. Бред какой-то. Тем более, что пуск вернули еще в 8.1, а в 10 он был всегда. Метрошный же софт просто лучше заточен под управление пальцами. Ну и телеметрия есть и в Win7, где пуск классический, а метро не работает совсем.
        • 0

          Если б им ещё можно было пользоваться с мышью и клавиатурой и не сойти с ума…


          Например, Windows Mail:


          • При нажатии Ctrl+C текст копируется в 1 из 10 случаев. Причём если нажать несколько раз подряд, то рано или поздно таки скопирует. Такое впечатление, что оно кубик бросает и разрешает копирование только в случае критической удачи.
          • При выделении текста со ссылкой опция копирования из контекстного меню пропадает и остаётся только опция перейти по ссылке. Нет, на самом деле опция копирования там есть, но для этого нужно в меню слева-вверху тыкныть кнопку "<". Очень умно сделать контекстное меню с двумя действиями (буквально) и 4мя кнопками для доступа к этим действиям. Да, когда переходишь «влево» к меню с единственным действием «копировать» там появляется кнопка «вправо» — вдруг вам захочется вернуться обратно.
  • +1
    Соберут очередной урожай «у меня все работало, а вдруг перестало», так как у многих пользователей все-таки есть фоновые приложения важные.
    • +2
      Еще не забываем вариант, когда «умная» система сама сожрет больше, чем сэкономит.
  • 0
    Наконец, через столько лет, эта простая мысль пришла кому-то в голову?
    • 0
      Насколько помню, в макоси что-то такое уже давно есть.
      • 0
        Есть ещё с 2013 года. Никаких настроек нет, просто работает, никому не мешает, заряд батарейки экономит.

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