跳转到内容

MMCSS、DWM 与 Windows 11 25H2 中的 Games 配置文件

本页内容

MMCSS 为 time-sensitive multimedia tasks 提供对 CPU 的优先访问,但不会把它们变成绝对的 realtime。Window Manager 和 Games 配置文件只影响那些以相应任务名称注册的线程的分类。删除默认值并不会恢复配置文件:它会启用代码中更低的 fallback 值。

我们检查了 MMCSS 如何读取 Window Manager 和 Games 配置文件、在缺少记录时哪些值生效,以及更改优先级和 lazy mode 会带来什么变化。

Windows 11 25H2 build 26200.9168,mmcss.sys 以及 boot-time 观察。具体的 workload、GPU 驱动和物理延迟未测量。

解析 mmcss.sys,在 bootlog 中观察配置文件读取,并检查规范化和 fallback 值。

根路径:

HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

DWM 配置文件:

...\Tasks\Window Manager

游戏配置文件:

...\Tasks\Games

Value Type 25H2 中的 Window Manager 25H2 中的 Games 已确认的作用
Scheduling Category REG_SZ Medium Medium scheduler policy 类别
Priority REG_DWORD 5 2 1..8 范围内的任务优先级
Priority When Yielded REG_DWORD 不存在,fallback 16 不存在,fallback 16 让出 CPU 后的上限

根 SystemProfile 的值:

Value Type 25H2 中的状态 已确认的作用
LazyModeTimeout REG_DWORD 不存在,fallback 1000000 以 100 纳秒为单位的 lazy mode 计时器
NoLazyMode REG_DWORD 不存在,fallback 0 禁用 idle detector

mmcss.sys 在初始化配置文件时读取 Scheduling Category、Priority 和 Priority When Yielded。已记录的活跃类别区间:Low — 8..15,Medium — 16..22,High — 23..26。对于 High,活跃区间中的值 Priority 始终被解释为 2,因此写入 6 或 8 不会像数字所暗示的那样提升 High 配置文件。

在所研究版本的干净状态下,Games 配置文件具有 Medium/2,而 Window Manager 具有 Medium/5。两者都缺少 Priority When Yielded,因此应用了 fallback 16。High/6/13 和 High/8/13 组合是修改过的配置,而不是 Windows defaults。值 13 相对于 fallback 16 会加强让出 CPU 后的降级。

实用性: 配置文件描述的是已分类线程的 scheduler policy。类别本身的提升并不能证明最终 workload 得到改善;它可能增加对 CPU 的竞争。

LazyModeTimeout 以 100 纳秒为单位测量。Fallback 1000000 等于 100 ms;10000 等于 1 ms。零会被替换为 fallback,在所检查的 reader 中没有上限 clamp。NoLazyMode 是布尔值:0 让 idle detector 保持启用,任何非零值都会禁用它。在 NoLazyMode 处于活动状态时,路径 LazyModeTimeout 实际上不可达,因此这些设置不能独立评估。

实用性: 减小 timeout 会加快 lazy scheduler 的周期,而不是提高活动线程的优先级。NoLazyMode=1 会移除 idle-demotion path,但不会取消 Priority When Yielded,并让 MMCSS 保持在完整循环中,从而增加后台活动。

mmcss.sys 在服务/驱动启动时读取 root 和 task profiles。在 bootlog 中观察到对 NoLazyMode 和配置文件的访问;对于缺失的值记录了 NAME NOT FOUND,随后应用了代码 default。这是 Registry 配置的正常工作方式。

  • 25H2 干净配置中 Window Manager 的 Medium/5 值和 Games 的 Medium/2 值。
  • 缺少 Scheduling Category 和 Priority 时的 fallback Low/1,以及 Priority When Yielded 的 16。
  • 类别边界以及 High 的 Priority 解释。
  • LazyModeTimeout 的单位和 fallback,NoLazyMode 的布尔行为。
  • 配置文件对 FPS、frametime 和物理延迟的影响。
  • 更改优先级对具体游戏和应用的益处。

对于普通系统,请保留默认的 Medium/5 和 Medium/2。若要精确还原,不能删除 Scheduling Category 和 Priority:缺失时的 fallback 等于 Low/1,也就是说配置文件会变得比默认更弱。还原通过显式写入默认对并删除可选的 Priority When Yielded 来完成。

结果适用于 Windows 11 25H2 build 26200.9168;本文未测量具体的 workload、GPU driver 和物理延迟。

如何复现观察中的动态部分——参见如何自行检查。

研究和所使用的工具属于 BoosterX 开发者,因此开发者对结果有直接利益关系。方法和适用范围已在上文描述,结论可通过公开数据和所列公开来源进行验证。

公开来源检查于:2026-09-02。

  • 2026-09-20: 添加了关于利益冲突的免责声明,以及在方法中自行检查动态观察的链接。
  • 2026-09-02: 首次发布;确认了配置文件读取、defaults 和 fallback 值,添加了实际效果的边界。