MMCSS、DWM 与 Windows 11 25H2 中的 Games 配置文件
本页内容
MMCSS 为 time-sensitive multimedia tasks 提供对 CPU 的优先访问,但不会把它们变成绝对的 realtime。Window Manager 和 Games 配置文件只影响那些以相应任务名称注册的线程的分类。删除默认值并不会恢复配置文件:它会启用代码中更低的 fallback 值。
我们检查了什么
Section titled “我们检查了什么”我们检查了 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 |
DWM 和 Games 配置文件
Section titled “DWM 和 Games 配置文件”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 和 NoLazyMode
Section titled “LazyModeTimeout 和 NoLazyMode”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 保持在完整循环中,从而增加后台活动。
Timing 和证据
Section titled “Timing 和证据”mmcss.sys 在服务/驱动启动时读取 root 和 task profiles。在 bootlog 中观察到对 NoLazyMode 和配置文件的访问;对于缺失的值记录了 NAME NOT FOUND,随后应用了代码 default。这是 Registry 配置的正常工作方式。
已确认的内容
Section titled “已确认的内容”- 25H2 干净配置中
Window Manager的Medium/5值和Games的Medium/2值。 - 缺少
Scheduling Category和Priority时的 fallbackLow/1,以及Priority When Yielded的16。 - 类别边界以及
High的Priority解释。 LazyModeTimeout的单位和 fallback,NoLazyMode的布尔行为。
未确认的内容
Section titled “未确认的内容”- 配置文件对 FPS、frametime 和物理延迟的影响。
- 更改优先级对具体游戏和应用的益处。
对于普通系统,请保留默认的 Medium/5 和 Medium/2。若要精确还原,不能删除 Scheduling Category 和 Priority:缺失时的 fallback 等于 Low/1,也就是说配置文件会变得比默认更弱。还原通过显式写入默认对并删除可选的 Priority When Yielded 来完成。
- Multimedia Class Scheduler Service,Microsoft Learn,检查于 2026-09-01。
- MMCSS task profiles,task categories 和 SystemProfile 的描述。
结果适用于 Windows 11 25H2 build 26200.9168;本文未测量具体的 workload、GPU driver 和物理延迟。
如何复现观察中的动态部分——参见如何自行检查。
研究和所使用的工具属于 BoosterX 开发者,因此开发者对结果有直接利益关系。方法和适用范围已在上文描述,结论可通过公开数据和所列公开来源进行验证。
公开来源检查于:2026-09-02。
- 2026-09-20: 添加了关于利益冲突的免责声明,以及在方法中自行检查动态观察的链接。
- 2026-09-02: 首次发布;确认了配置文件读取、defaults 和 fallback 值,添加了实际效果的边界。
