MMCSS, DWM et profil Games dans Windows 11 25H2
Sur cette page
Réponse courte
Section intitulée « Réponse courte »MMCSS donne aux tâches multimédias sensibles au temps un accès prioritaire au CPU, sans les transformer en temps réel absolu. Les profils Window Manager et Games n’influencent la classification que des threads enregistrés sous le nom de tâche correspondant. La suppression des valeurs par défaut ne restaure pas le profil : elle active des valeurs de repli plus basses issues du code.
Ce qui a été vérifié
Section intitulée « Ce qui a été vérifié »Nous avons vérifié comment MMCSS lit les profils Window Manager et Games, quelles valeurs s’appliquent en l’absence d’entrées et ce que change la modification des priorités et du lazy mode.
Périmètre de l’étude
Section intitulée « Périmètre de l’étude »Windows 11 25H2 build 26200.9168, mmcss.sys et observation au démarrage. La charge de travail concrète, le pilote GPU et la latence physique n’ont pas été mesurés.
Méthodologie
Section intitulée « Méthodologie »Analyse de mmcss.sys, observation de la lecture des profils dans le bootlog et vérification de la normalisation et des valeurs de repli.
Chemin canonique
Section intitulée « Chemin canonique »Chemin racine :
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
Profil DWM :
...\Tasks\Window Manager
Profil de jeux :
...\Tasks\Games
| Value | Type | Window Manager dans 25H2 |
Games dans 25H2 |
Rôle confirmé |
|---|---|---|---|---|
Scheduling Category |
REG_SZ |
Medium |
Medium |
Catégorie de scheduler policy |
Priority |
REG_DWORD |
5 |
2 |
Priorité de tâche dans la plage 1..8 |
Priority When Yielded |
REG_DWORD |
absent, fallback 16 |
absent, fallback 16 |
Plafond après cession du CPU |
Valeurs de la racine SystemProfile :
| Value | Type | État dans 25H2 | Rôle confirmé |
|---|---|---|---|
LazyModeTimeout |
REG_DWORD |
absent, fallback 1000000 |
Minuteur du lazy mode en unités de 100 ns |
NoLazyMode |
REG_DWORD |
absent, fallback 0 |
Désactivation de l’idle detector |
Profil DWM et Games
Section intitulée « Profil DWM et Games »mmcss.sys lit Scheduling Category, Priority et Priority When Yielded lors de l’initialisation des profils. Plages de catégories actives documentées : Low — 8..15, Medium — 16..22, High — 23..26. Pour High, la valeur Priority dans la plage active est toujours interprétée comme 2, c’est pourquoi l’entrée 6 ou 8 ne relève pas le profil High comme le suggère le nombre.
À l’état propre de la build étudiée, le profil Games avait Medium/2, et Window Manager — Medium/5. Priority When Yielded était absent chez les deux, c’est pourquoi le fallback 16 s’appliquait. Les combinaisons High/6/13 et High/8/13 sont des configurations modifiées, et non des Windows defaults. La valeur 13 renforce la démotion après cession du CPU par rapport au fallback 16.
Utilité : le profil décrit la scheduler policy pour les threads classifiés. L’élévation de catégorie à elle seule ne prouve pas une amélioration de la charge de travail finale ; elle peut accroître la concurrence pour le CPU.
LazyModeTimeout et NoLazyMode
Section intitulée « LazyModeTimeout et NoLazyMode »LazyModeTimeout se mesure en unités de 100 ns. Le fallback 1000000 est égal à 100 ms ; 10000 est égal à 1 ms. Le zéro est remplacé par le fallback, il n’y a pas de clamp supérieur dans le reader vérifié. NoLazyMode est booléen : 0 laisse l’idle detector activé, toute valeur non nulle le désactive. Avec NoLazyMode actif, le chemin LazyModeTimeout est pratiquement inatteignable, c’est pourquoi ces réglages ne peuvent pas être évalués indépendamment.
Utilité : la réduction du timeout accélère la période du lazy scheduler, et non la priorité des threads actifs. NoLazyMode=1 supprime l’idle-demotion path, mais n’annule pas Priority When Yielded et maintient MMCSS dans un cycle complet, augmentant l’activité en arrière-plan.
Timing et preuves
Section intitulée « Timing et preuves »mmcss.sys lit le root et les task profiles au démarrage du service/pilote. Dans le bootlog, des accès à NoLazyMode et aux profils ont été observés ; pour les valeurs absentes, NAME NOT FOUND était enregistré, après quoi le default du code s’appliquait. C’est le mode de fonctionnement normal de la configuration Registry.
Ce qui est confirmé
Section intitulée « Ce qui est confirmé »- Valeurs
Medium/5pourWindow ManageretMedium/2pourGamesdans la configuration propre de 25H2. - Fallback
Low/1en l’absence deScheduling CategoryetPriority, ainsi que16pourPriority When Yielded. - Limites des catégories et interprétation de
PrioritypourHigh. - Unités et fallback
LazyModeTimeout, comportement booléen deNoLazyMode.
Ce qui n’est pas confirmé
Section intitulée « Ce qui n’est pas confirmé »- Influence des profils sur les FPS, le frametime et la latence physique.
- Utilité de la modification des priorités pour des jeux et applications spécifiques.
Conclusion pratique
Section intitulée « Conclusion pratique »Pour un système ordinaire, conservez les Medium/5 et Medium/2 par défaut. Pour un retour précis, il ne faut pas supprimer Scheduling Category et Priority : le fallback en leur absence est égal à Low/1, c’est-à-dire que le profil deviendra plus faible que celui par défaut. Le retour s’effectue par l’écriture explicite de la paire par défaut et la suppression du Priority When Yielded facultatif.
Sources et limites
Section intitulée « Sources et limites »- Multimedia Class Scheduler Service, Microsoft Learn, vérifié le 2026-09-01.
- MMCSS task profiles, description des task categories et de SystemProfile.
Le résultat concerne Windows 11 25H2 build 26200.9168 ; la charge de travail concrète, le GPU driver et la latence physique n’ont pas été mesurés dans cet article.
Comment reproduire la partie dynamique des observations — voir Comment vérifier soi-même.
L’étude et les outils utilisés appartiennent au développeur de BoosterX, c’est pourquoi le développeur a un intérêt direct dans les résultats. La méthodologie et les limites d’applicabilité sont décrites ci-dessus, et les conclusions peuvent être vérifiées à partir des données ouvertes et des sources publiques énumérées.
Sources publiques vérifiées : 2026-09-02.
Historique des modifications
Section intitulée « Historique des modifications »- 2026-09-20 : ajout d’un avertissement sur le conflit d’intérêts et d’un lien vers la vérification autonome des observations dynamiques dans la méthodologie.
- 2026-09-02 : première publication ; lecture des profils, defaults et valeurs de repli confirmés, ajout des limites de l’effet pratique.
