Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Операционная система Windows предоставляет комплексный и системный набор функций управления питанием. Это позволяет системам расширить время работы батареи и сэкономить энергию, уменьшить тепло и шум, а также обеспечить надежность данных.
Современное проектирование резервных и приложений
Современная резервная версия (S0 с низкой мощностью бездействия) — это модель спящего режима по умолчанию на большинстве устройств Windows 11. В отличие от традиционного спящего режима S3, система остается частично запущенной— сетевое подключение может поддерживаться, и система может мгновенно проснуться. Это изменяет способ обработки фоновой работы приложений.
Important
Распространенные антипаттерны, разряжающие батарею в режиме Modern Standby:
-
Удерживание
ES_SYSTEM_REQUIREDнепрерывно — это предотвращает переход системы в режим бездействия с низким энергопотреблением. Удерживайте этот флаг только при активном выполнении работы, а затем немедленно очистите его. - Периодические пробуждения таймера — таймеры , которые запускают каждые несколько секунд, сохраняют активность ЦП. Вместо этого используйте коалесцирующие таймеры или архитектуры, управляемые событиями.
- Несвязанный опрос сети — для упакованных приложений используйте push-уведомления (WNS). Для неупакованных приложений Win32 используйте сокеты, управляемые событиями, или уведомления об изменении списка сетей, а не опрос конечного узла.
- Оставленные открытыми аудио-/медиапотоки — даже беззвучные потоки не позволяют отключить питание аудиоустройства. Освобождать звуковые устройства, когда не выполняется активная отрисовка.
Рекомендации по современному резервному режиму
-
Зарегистрируйтесь для уведомлений питания для обнаружения переходов . Используйте PowerSettingRegisterNotification с
GUID_MONITOR_POWER_ONиGUID_POWER_SAVING_STATUS. - Отложите несрочные задачи до тех пор, пока устройство не будет подключено к сети питания. Прежде чем запускать крупные операции, обратитесь к GetSystemPowerStatus .
-
Используйте SetThreadExecutionState только при необходимости — вызывайте с
ES_CONTINUOUS | ES_SYSTEM_REQUIREDтолько для активных операций (передачи файлов, записи мультимедиа) и обязательно сбрасывайте сSetThreadExecutionState(ES_CONTINUOUS)после завершения операции. - Операции пакетной сети — объединение нескольких небольших запросов в один сеанс, чтобы свести к минимуму время радиосвязи.
-
Соблюдайте экономию батареи . Когда
GUID_POWER_SAVING_STATUSуказывает, что экономия батареи активна, уменьшает или устраняет фоновое действие.
Функции и сообщения управления питанием получают состояние системы, уведомляют приложения о событиях управления питанием и уведомляют систему требований к мощности каждого приложения. В этом обзоре содержатся следующие разделы:
- Управление питанием Windows
- Статус системы питания
- Состояния энергосистемы
- Системные события управления питанием
- Сообщения WM_POWERBROADCAST
- Критерии спящего режима системы
- события пробуждения системы
- сведения о батарее
- Интерфейс управления подсветкой
- схемы питания
- управление питанием устройств
Связанные разделы