Ir al contenido

MMCSS, DWM y el perfil Games en Windows 11 25H2

En esta página

MMCSS da a las time-sensitive multimedia tasks acceso prioritario a la CPU, sin convertirlas en realtime absoluto. Los perfiles Window Manager y Games influyen en la clasificación solo de aquellos hilos que están registrados bajo el nombre de tarea correspondiente. Eliminar los valores estándar no restaura el perfil: activa valores fallback más bajos del código.

Se comprobó cómo MMCSS lee los perfiles Window Manager y Games, qué valores actúan en ausencia de entradas y qué cambia la modificación de prioridades y lazy mode.

Windows 11 25H2 build 26200.9168, mmcss.sys y observación boot-time. El workload concreto, el driver GPU y la latencia física no se midieron.

Análisis de mmcss.sys, observación de la lectura de perfiles en bootlog y verificación de la normalización y los valores fallback.

Ruta raíz:

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

Perfil DWM:

...\Tasks\Window Manager

Perfil de juegos:

...\Tasks\Games

Value Type Window Manager en 25H2 Games en 25H2 Rol confirmado
Scheduling Category REG_SZ Medium Medium Categoría de scheduler policy
Priority REG_DWORD 5 2 Prioridad de tarea en el rango 1..8
Priority When Yielded REG_DWORD ausente, fallback 16 ausente, fallback 16 Techo tras la cesión de CPU

Valores del SystemProfile raíz:

Value Type Estado en 25H2 Rol confirmado
LazyModeTimeout REG_DWORD ausente, fallback 1000000 Temporizador de lazy mode en unidades de 100 ns
NoLazyMode REG_DWORD ausente, fallback 0 Desactivación del idle detector

mmcss.sys lee Scheduling Category, Priority y Priority When Yielded durante la inicialización de los perfiles. Bandas activas de categorías documentadas: Low — 8..15, Medium — 16..22, High — 23..26. Para High el valor Priority en la banda activa siempre se interpreta como 2, por lo que la entrada 6 o 8 no eleva el perfil High tal como sugiere el número.

En el estado limpio de la build investigada, el perfil Games tenía Medium/2, y Window Manager — Medium/5. Priority When Yielded estaba ausente en ambos, por lo que se aplicaba el fallback 16. Las combinaciones High/6/13 y High/8/13 son configuraciones modificadas, no Windows defaults. El valor 13 refuerza la democión tras la cesión de CPU respecto al fallback 16.

Utilidad: el perfil describe la scheduler policy para hilos clasificados. La mera elevación de categoría no demuestra una mejora del workload final; puede aumentar la competencia por la CPU.

LazyModeTimeout se mide en unidades de 100 ns. El fallback 1000000 es 100 ms; 10000 es 1 ms. El cero se sustituye por el fallback, no hay clamp superior en el reader comprobado. NoLazyMode es booleano: 0 deja el idle detector activado, cualquier valor distinto de cero lo desactiva. Con NoLazyMode activo, la ruta LazyModeTimeout es prácticamente inalcanzable, por lo que estos ajustes no pueden evaluarse de forma independiente.

Utilidad: reducir el timeout acelera el periodo del lazy scheduler, no eleva la prioridad de los hilos activos. NoLazyMode=1 elimina el idle-demotion path, pero no anula Priority When Yielded y mantiene MMCSS en el ciclo completo, aumentando la actividad en segundo plano.

mmcss.sys lee root y task profiles al iniciar el servicio/driver. En el bootlog se observaron accesos a NoLazyMode y a los perfiles; para los valores ausentes se registraba NAME NOT FOUND, tras lo cual se aplicaba el default del código. Esta es la forma normal de funcionamiento de la configuración del Registry.

  • Valores Medium/5 para Window Manager y Medium/2 para Games en la configuración limpia de 25H2.
  • Fallback Low/1 en ausencia de Scheduling Category y Priority, así como 16 para Priority When Yielded.
  • Límites de categorías e interpretación de Priority para High.
  • Unidades y fallback LazyModeTimeout, comportamiento booleano de NoLazyMode.
  • Influencia de los perfiles en FPS, frametime y latencia física.
  • Utilidad de modificar prioridades para juegos y aplicaciones concretos.

Para un sistema normal, conserve los Medium/5 y Medium/2 estándar. Para un retorno exacto no se pueden eliminar Scheduling Category y Priority: el fallback en ausencia es igual a Low/1, es decir, el perfil quedará más débil que el estándar. El retorno se realiza escribiendo explícitamente el par estándar y eliminando el Priority When Yielded opcional.

El resultado se refiere a Windows 11 25H2 build 26200.9168; el workload concreto, el GPU driver y la latencia física no se midieron en este artículo.

Cómo reproducir la parte dinámica de las observaciones — véase Cómo comprobarlo por cuenta propia.

La investigación y las herramientas utilizadas pertenecen al desarrollador de BoosterX, por lo que el desarrollador tiene un interés directo en los resultados. La metodología y los límites de aplicabilidad se describen arriba, y las conclusiones pueden verificarse con los datos abiertos y las fuentes públicas enumeradas.

Fuentes públicas verificadas: 2026-09-02.

  • 2026-09-20: añadido el descargo de responsabilidad sobre el conflicto de intereses y el enlace a la verificación independiente de las observaciones dinámicas en la metodología.
  • 2026-09-02: primera publicación; confirmadas la lectura de perfiles, los defaults y los valores fallback, añadidos los límites del efecto práctico.