MMCSS, DWM e perfil Games no Windows 11 25H2
Nesta página
Resposta curta
Seção intitulada “Resposta curta”O MMCSS dá a time-sensitive multimedia tasks acesso prioritário à CPU, sem transformá-las em realtime absoluto. Os perfis Window Manager e Games influenciam a classificação apenas dos threads registrados sob o nome de tarefa correspondente. Remover os valores padrão não restaura o perfil: isso ativa valores de fallback mais baixos do código.
O que foi verificado
Seção intitulada “O que foi verificado”Verificou-se como o MMCSS lê os perfis Window Manager e Games, quais valores valem na ausência de entradas e o que a alteração de prioridades e do lazy mode muda.
Escopo do estudo
Seção intitulada “Escopo do estudo”Windows 11 25H2 build 26200.9168, mmcss.sys e observação em boot-time. O workload específico, o driver de GPU e a latência física não foram medidos.
Metodologia
Seção intitulada “Metodologia”Análise de mmcss.sys, observação da leitura dos perfis no bootlog e verificação da normalização e dos valores de fallback.
Caminho canônico
Seção intitulada “Caminho canônico”Caminho raiz:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile
Perfil DWM:
...\Tasks\Window Manager
Perfil de jogos:
...\Tasks\Games
| Value | Type | Window Manager em 25H2 |
Games em 25H2 |
Papel confirmado |
|---|---|---|---|---|
Scheduling Category |
REG_SZ |
Medium |
Medium |
Categoria de scheduler policy |
Priority |
REG_DWORD |
5 |
2 |
Prioridade da tarefa no intervalo 1..8 |
Priority When Yielded |
REG_DWORD |
ausente, fallback 16 |
ausente, fallback 16 |
Teto após ceder a CPU |
Valores do SystemProfile raiz:
| Value | Type | Estado em 25H2 | Papel confirmado |
|---|---|---|---|
LazyModeTimeout |
REG_DWORD |
ausente, fallback 1000000 |
Timer do lazy mode em unidades de 100 ns |
NoLazyMode |
REG_DWORD |
ausente, fallback 0 |
Desativação do idle detector |
Perfil DWM e Games
Seção intitulada “Perfil DWM e Games”O mmcss.sys lê Scheduling Category, Priority e Priority When Yielded na inicialização dos perfis. Faixas ativas de categorias documentadas: Low — 8..15, Medium — 16..22, High — 23..26. Para High, o valor Priority na faixa ativa é sempre interpretado como 2, portanto a entrada 6 ou 8 não eleva o perfil High como o número sugere.
No estado limpo da build estudada, o perfil Games tinha Medium/2, e Window Manager — Medium/5. Priority When Yielded estava ausente em ambos, portanto aplicava-se o fallback 16. As combinações High/6/13 e High/8/13 são configurações alteradas, e não Windows defaults. O valor 13 reforça a demoção após ceder a CPU em relação ao fallback 16.
Utilidade: o perfil descreve a scheduler policy para threads classificados. A mera elevação da categoria não prova melhoria do workload final; ela pode aumentar a competição pela CPU.
LazyModeTimeout e NoLazyMode
Seção intitulada “LazyModeTimeout e NoLazyMode”LazyModeTimeout é medido em unidades de 100 ns. O fallback 1000000 é igual a 100 ms; 10000 é igual a 1 ms. O zero é substituído pelo fallback, não há clamp superior no reader verificado. NoLazyMode é booleano: 0 mantém o idle detector ativado, qualquer valor diferente de zero o desativa. Com NoLazyMode ativo, o caminho LazyModeTimeout é praticamente inalcançável, portanto essas configurações não podem ser avaliadas de forma independente.
Utilidade: reduzir o timeout acelera o período do lazy scheduler, e não eleva a prioridade dos threads ativos. NoLazyMode=1 remove o idle-demotion path, mas não cancela Priority When Yielded e mantém o MMCSS no ciclo completo, aumentando a atividade em segundo plano.
Timing e evidências
Seção intitulada “Timing e evidências”O mmcss.sys lê o root e os task profiles na inicialização do serviço/driver. No bootlog observaram-se acessos a NoLazyMode e aos perfis; para valores ausentes registrava-se NAME NOT FOUND, após o que se aplicava o default do código. Essa é a forma normal de funcionamento da configuração de Registry.
O que foi confirmado
Seção intitulada “O que foi confirmado”- Valores
Medium/5paraWindow ManagereMedium/2paraGamesna configuração limpa do 25H2. - Fallback
Low/1na ausência deScheduling CategoryePriority, bem como16paraPriority When Yielded. - Limites das categorias e interpretação de
PriorityparaHigh. - Unidades e fallback
LazyModeTimeout, comportamento booleano deNoLazyMode.
O que não foi confirmado
Seção intitulada “O que não foi confirmado”- Influência dos perfis em FPS, frametime e latência física.
- Utilidade da alteração de prioridades para jogos e aplicativos específicos.
Conclusão prática
Seção intitulada “Conclusão prática”Para um sistema comum, mantenha os Medium/5 e Medium/2 padrão. Para um retorno preciso, não se pode remover Scheduling Category e Priority: o fallback na ausência é igual a Low/1, ou seja, o perfil ficará mais fraco que o padrão. O retorno é feito gravando explicitamente o par padrão e removendo o Priority When Yielded opcional.
Fontes e limitações
Seção intitulada “Fontes e limitações”- Multimedia Class Scheduler Service, Microsoft Learn, verificado em 2026-09-01.
- MMCSS task profiles, descrição de task categories e SystemProfile.
O resultado refere-se ao Windows 11 25H2 build 26200.9168; o workload específico, o GPU driver e a latência física não foram medidos neste artigo.
Como repetir a parte dinâmica das observações — consulte Como verificar por conta própria.
O estudo e as ferramentas utilizadas pertencem ao desenvolvedor do BoosterX, portanto o desenvolvedor tem interesse direto nos resultados. A metodologia e os limites de aplicabilidade estão descritos acima, e as conclusões podem ser verificadas pelos dados abertos e pelas fontes públicas listadas.
Fontes públicas verificadas: 2026-09-02.
Histórico de alterações
Seção intitulada “Histórico de alterações”- 2026-09-20: adicionado o disclaimer sobre conflito de interesses e o link para a verificação independente das observações dinâmicas na metodologia.
- 2026-09-02: primeira publicação; confirmados a leitura dos perfis, os defaults e os valores de fallback, adicionados os limites do efeito prático.
