Перейти к содержимому

MMCSS, DWM и профиль Games в Windows 11 25H2

На этой странице

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 Таймер lazy mode в 100-нс единицах
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 defaults. Значение 13 усиливает демоцию после уступки CPU относительно fallback 16.

Полезность: профиль описывает scheduler policy для классифицированных потоков. Само повышение категории не доказывает улучшение конечного workload; оно может увеличить конкуренцию за CPU.

LazyModeTimeout измеряется в 100-нс единицах. Fallback 1000000 равен 100 ms; 10000 равен 1 ms. Ноль заменяется fallback, верхнего clamp в проверенном reader нет. 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-конфигурации.

  • Значения Medium/5 для Window Manager и Medium/2 для Games в чистой конфигурации 25H2.
  • Fallback Low/1 при отсутствии Scheduling Category и Priority, а также 16 для Priority When Yielded.
  • Границы категорий и трактовка Priority для High.
  • Единицы и fallback LazyModeTimeout, булево поведение 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-значения, добавлены границы практического эффекта.