自适应休眠概述

用户可以在其 Windows 设备中设置休眠选项,以便在系统不使用时将系统置于低功耗状态。 操作系统中的当前休眠逻辑依赖于自适应休眠在新式待机期间耗尽一定百分比的电池容量后将系统置于休眠状态。

OEM 或用户还可以配置一个固定的进入休眠定时器。 然而,基于计时器的逻辑在用户体验缺陷方面有明显缺陷。 固定的休眠计时器可能导致系统在待机模式下耗尽电量(如果在休眠超时范围内耗尽电量),或者削弱低耗电新式待机体验(在休眠超时时休眠)。 因此,最好利用自适应休眠来根据电池耗电量动态休眠。

自适应休眠提供触发器以允许系统智能休眠。 这些触发器有以下优势:

  • 避免电池报废。
  • 通过确保将系统尽可能保持在新式待机状态,提供出色的新式待机体验。

为了支持自适应休眠触发器,系统使用默认值启用。 但是,OEM 可以对这些触发器进行编程,以确保机器休眠,从而为用户提供最佳体验。

系统要求

这些触发器仅适用于新式待机系统。

默认行为

计算机将默认启用自适应休眠超时;但是,OEM 可以使用预配包文件配置设置。 有关如何执行此操作的详细信息,请参阅下列各节。

注意

在应用其中任何一个触发器之前,Windows 设置了 15 分钟的宽限期。 这是为了确保系统不会快速过渡到休眠状态。

休眠触发器

自适应休眠设置(待机预算设置和待机预留时间设置)显示为隐藏的电源设置。 这些设置仅适用于直流电,对交流电没有影响。

待机预算设置

下表列出了可用于设置待机预算的设置,即允许用户在待机期间消耗的电池量。

预算设置 定义 公开为 Powercfg 命令

StandbyBudgetPercent

定义用户在待机会话中允许的电池消耗百分比。 默认值为 5%。

电源设置

powercfg /setdcvalueindex scheme_current sub_presence standbybudgetpercent

你还可以使用 OEM 映像的自定义预配包文件配置这些设置。 有关 powercfg 的详细信息,请参阅 Powercfg 命令行选项

待机预留时间设置

预留时间是系统从待机或休眠状态恢复后保证用户打开屏幕的时间量。 下表列出了可用于设置预留时间的设置。

预算设置 定义 公开为 Powercfg 命令

StandbyReserveTime

定义将提供给用户的屏幕打开时间(在待机状态退出且屏幕打开后),以秒为单位。 默认值为 1200 秒。

电源设置

powercfg /setdcvalueindex scheme_current sub_presence standbyreservetime

你还可以使用 OEM 映像的自定义预配包文件配置这些设置。 有关 powercfg 的详细信息,请参阅 Powercfg 命令行选项

Windows 预配包示例

可以使用 Windows 预配框架来配置本节中描述的自适应休眠设置。 首先,使用 Windows 配置设计器创建预配包。 然后,你将编辑包中包含的 customizes.xml 文件以包含你的电源设置,该设置显示在 Common\Power\Policy\Settings\AdaptivePowerBehavior 命名空间下。 使用 XML 文件作为 Windows 配置设计器命令行界面的输入之一,以生成包含电源设置的预配包。 然后,你可以将预配包应用到映像。 有关如何使用 Windows 配置设计器 CLI 的信息,请参阅使用 Windows 配置设计器命令行界面

以下示例显示了 Windows 预配应答文件在完成编写后所具有的表现以配置自适应休眠设置。

<?xml version="1.0" encoding="utf-8"?>
<WindowsCustomizatons>
  <PackageConfig xmlns="urn:schemas-Microsoft-com:Windows-ICD-Package-Config.v1.0">
    <ID>{XXXX GUID}</ID>  <!-- ID needs to be be unique GUID for the package -->
    <Name>CustomOEM.Power.Settings.Control</Name>
    <Version>1.0</Version>
    <OwnerType>OEM</OwnerType>
  </PackageConfig>

  <Settings xmlns="urn:schemas-microsoft-com:windows-provisioning">
     <Customizations>
        <Common>
           <Power>
              <Policy>
                 <Settings>
                    <AdaptivePowerBehavior>
                       <SchemePersonality>
                          <Default SchemeAlias="Balanced">
                             <Setting>
                                <!-- After entering standby, battery drain percentage allowed before the device transitions to hibernate -->
                                <StandbyBudgetPercent>
                                   <DcValue>3</DcValue>
                                </StandbyBudgetPercent>
                                <!-- After entering standby, number of seconds before the device automatically transitions to hibernate -->
                                <StandbyReserveTime>
                                   <DcValue>600</DcValue>
                                </StandbyReserveTime>
                             </Setting>

                          </Default>
                       </SchemePersonality>
                    </AdaptivePowerBehavior>
                 </Settings>
              </Policy>
           </Power>
        </Common>
     </Customizations>
  </Settings>