服务质量

与线程关联的服务质量(QoS)用于指示所需的性能和电源效率。 每个线程都分配到 QoS 级别。 虽然计划优先级仍然是系统确定下一个计划线程的主要指标,但 QoS 可能会影响核心选择和处理器电源管理。 在具有异类处理器的平台上,线程的 QoS 可能会将计划限制为处理器子集,或指示特定处理器类的首选项。

开发人员可能已使用其他设施来控制何时执行,例如用户不存在时、仅在 AC/充电上或取决于电池电量。 QoS 提供了一种影响执行方式的设施。 此设施有助于提高 CPU 效率,从而延长电池使用时间。 此外,此过程可以帮助降低 CPU 能耗,同时在 AC 电源上运行,以减少热输出,这可能导致高风扇噪音,甚至导致热限制。

服务质量级别

系统维护多个 QoS 级别,每个级别具有不同的性能和电源效率。 Windows 为每个 QoS 级别提供计划和处理器电源管理的标准默认设置。 可以通过 Windows 预配来修改处理器电源管理和异类计划的每个 QoS 级别的精确优化。 有关性能优化和预配的详细信息,请参阅 处理器电源管理选项

QoS 级别 描述 性能和电源 释放
在前台和焦点中或具有声音的窗口化应用程序,并使用 SetProcessInformation 或具有 SetThreadInformation 的线程显式标记进程 标准高性能。 1709
中等 可能对最终用户可见但不是焦点的窗口化应用程序。 还包括在用户处于非活动状态的时间段后降低前台应用程序的 QoS。 根据平台的不同,在高和低之间。 1709,非活动功能:Ge 2025.05
对最终用户不可见或无法听到的窗口化应用程序。 在电池上,选择最有效的 CPU 频率,并将计划安排到高效的核心。 1709
效用 后台服务 在电池上,选择最有效的 CPU 频率,并将计划安排到高效的核心。 Windows 11 22H2
生态 使用 SetProcessInformation 显式标记SetThreadInformation线程的应用程序。 始终选择最有效的 CPU 频率和计划以高效核心。 Windows 11
媒体 多媒体类计划程序服务 显式标记的线程表示多媒体批处理缓冲。 CPU 频率降低,以便高效批处理。 2004
限期 多媒体类计划程序服务 显式标记的线程,以表示音频线程需要性能才能达到截止时间。 高性能以满足媒体截止时间。 2004

如何禁用用户不活动功能

默认情况下,Windows 可能会将前台应用程序的 QoS 策略降低到中等 QoS,因为用户处于非活动状态(未检测到任何输入)之后。 可以通过设置以下注册表值来禁用此功能:

  • 路径Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerThrottling
  • 值名称DisableUserPresenceQos
  • 值类型REG_DWORD
  • 数据值
    • 1 (功能已禁用)
    • 0 (已启用功能)

警告

错误地编辑注册表可能会导致系统不稳定。 在进行更改之前,请始终备份注册表。

服务质量分类

下表显示了支持的 QoS 分类。

描述
多媒体基础 多媒体类计划程序服务 优先考虑多媒体方案的 CPU 资源。 服务标记负责使用媒体和截止时间 QoS 级别的多媒体处理的特定线程,以便在满足性能截止时间时提供电源效率。
应用程序接口 SetProcessInformation 使开发人员通过在 PROCESS_POWER_THROTTLING_EXECUTION_SPEED中切换 功能,将进程显式标记为 HighQoS 或 EcoQoS。
SetThreadInformation 使开发人员通过在 THREAD_POWER_THROTTLING_EXECUTION_SPEED 中切换 功能,将线程显式标记为 HighQoS 或 EcoQoS。
听得见的 确定要播放音频的进程是 HighQoS。
可见 根据窗口的可见性和焦点状态为直接拥有窗口的进程(或属于窗口拥有进程的后代)分配 QoS 级别:

窗口状态服务质量
焦点
可见中等
最小化或完全遮挡
启发式 系统会自动为未由上述源分类的线程分配 QoS 级别。 这些启发法包括(但不限于)线程优先级,其中线程优先级降低的线程可能意味着较低的 QoS 级别。