MMCSS, DWM and the Games profile in Windows 11 25H2
On this page
Short answer
Section titled “Short answer”MMCSS gives time-sensitive multimedia tasks priority access to the CPU without turning them into absolute realtime. The Window Manager and Games profiles affect the classification only of those threads that are registered under the corresponding task name. Deleting the stock values does not restore the profile: it enables lower fallback values from the code.
What was checked
Section titled “What was checked”We checked how MMCSS reads the Window Manager and Games profiles, which values apply when entries are absent, and what changing priorities and lazy mode does.
Scope of research
Section titled “Scope of research”Windows 11 25H2 build 26200.9168, mmcss.sys and boot-time observation. The specific workload, GPU driver and physical latency were not measured.
Methodology
Section titled “Methodology”Parsing mmcss.sys, observing profile reads in the bootlog, and checking normalization and fallback values.
Canonical path
Section titled “Canonical path”Root path:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
DWM profile:
...\Tasks\Window Manager
Games profile:
...\Tasks\Games
| Value | Type | Window Manager in 25H2 |
Games in 25H2 |
Confirmed role |
|---|---|---|---|---|
Scheduling Category |
REG_SZ |
Medium |
Medium |
Scheduler policy category |
Priority |
REG_DWORD |
5 |
2 |
Task priority in the range 1..8 |
Priority When Yielded |
REG_DWORD |
absent, fallback 16 |
absent, fallback 16 |
Ceiling after CPU yield |
Root SystemProfile values:
| Value | Type | State in 25H2 | Confirmed role |
|---|---|---|---|
LazyModeTimeout |
REG_DWORD |
absent, fallback 1000000 |
Lazy mode timer in 100-ns units |
NoLazyMode |
REG_DWORD |
absent, fallback 0 |
Idle detector disable |
DWM and Games profile
Section titled “DWM and Games profile”mmcss.sys reads Scheduling Category, Priority and Priority When Yielded during profile initialization. Documented active category bands: Low — 8..15, Medium — 16..22, High — 23..26. For High, the value Priority in the active band is always treated as 2, so an entry of 6 or 8 does not raise the High profile the way the number suggests.
In the clean state of the build under study, the Games profile had Medium/2, and Window Manager had Medium/5. Priority When Yielded was absent in both, so the fallback 16 was applied. The combinations High/6/13 and High/8/13 are modified configurations, not Windows defaults. The value 13 strengthens the demotion after CPU yield relative to the fallback 16.
Usefulness: the profile describes the scheduler policy for classified threads. Raising the category by itself does not prove an improvement in the end workload; it may increase competition for the CPU.
LazyModeTimeout and NoLazyMode
Section titled “LazyModeTimeout and NoLazyMode”LazyModeTimeout is measured in 100-ns units. The fallback 1000000 equals 100 ms; 10000 equals 1 ms. Zero is replaced by the fallback; there is no upper clamp in the reader under study. NoLazyMode is boolean: 0 leaves the idle detector enabled, any non-zero value disables it. With NoLazyMode active, the path LazyModeTimeout is practically unreachable, so these settings cannot be evaluated independently.
Usefulness: reducing the timeout speeds up the lazy scheduler period, not raises the priority of active threads. NoLazyMode=1 removes the idle-demotion path, but does not cancel Priority When Yielded and keeps MMCSS in a full cycle, increasing background activity.
Timing and evidence
Section titled “Timing and evidence”mmcss.sys reads root and task profiles at service/driver start. In the bootlog, accesses to NoLazyMode and profiles were observed; for missing values, NAME NOT FOUND was recorded, after which the code default was applied. This is the normal way Registry configuration works.
What is confirmed
Section titled “What is confirmed”- The values
Medium/5forWindow ManagerandMedium/2forGamesin the clean 25H2 configuration. - The fallback
Low/1whenScheduling CategoryandPriorityare absent, as well as16forPriority When Yielded. - The category boundaries and the treatment of
PriorityforHigh. - The units and fallback of
LazyModeTimeout, the boolean behavior ofNoLazyMode.
What is not confirmed
Section titled “What is not confirmed”- The effect of the profiles on FPS, frametime and physical latency.
- The benefit of changing priorities for specific games and applications.
Practical conclusion
Section titled “Practical conclusion”For a normal system, keep the stock Medium/5 and Medium/2. For an exact return, you must not delete Scheduling Category and Priority: the fallback when absent equals Low/1, meaning the profile becomes weaker than stock. The return is performed by explicitly writing the stock pair and deleting the optional Priority When Yielded.
Sources and limitations
Section titled “Sources and limitations”- Multimedia Class Scheduler Service, Microsoft Learn, checked 2026-09-01.
- MMCSS task profiles, description of task categories and SystemProfile.
The result applies to Windows 11 25H2 build 26200.9168; the specific workload, GPU driver and physical latency were not measured in this article.
For how to reproduce the dynamic part of the observations, see How to check it yourself.
The research and the tools used belong to the BoosterX developer, so the developer has a direct interest in the results. The methodology and scope of applicability are described above, and the conclusions can be verified against open data and the listed public sources.
Public sources checked: 2026-09-02.
Change history
Section titled “Change history”- 2026-09-20: added a conflict-of-interest disclaimer and a link to self-verification of dynamic observations in the methodology.
- 2026-09-02: first publication; profile reads, defaults and fallback values confirmed, boundaries of the practical effect added.
