跳到內容

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 Window Manager 在 25H2 Games 在 25H2 已確認的角色
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 預設值。值 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 值,並新增實際效果的範圍。