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

SystemResponsiveness и MMCSS: что делают значения 0, 10, 20 и 100

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

В BoosterX этот параметр представлен настройкой «SystemResponsiveness». Значение 10 изменяет резерв MMCSS, но преимущество над 20 в проверенном сценарии не установлено; 100 отключает MMCSS.

SystemResponsiveness не является плацебо. Это параметр MMCSS, который Windows нормализует и применяет при загрузке. В исследованной Windows 11 значение 0 дало то же эффективное состояние 20, а 10 изменило состояние MMCSS, но не показало преимущества над 20 в синтетическом тесте планировщика.

Значение 100 отключило MMCSS. Регистрация потока не выполнялась, поток не получал повышение приоритета, а p99 задержки синтетического планировочного workload вырос примерно на 11-12 ms относительно 20. Такой результат не означает, что Windows в целом стала медленнее на 60%, и не доказывает ухудшение FPS, input latency или реального звука.

Практическая страница настройки: «Резерв CPU для фоновых задач».

Исследование проверяло три отдельных утверждения:

  1. Меняют ли 0, 10, 20, 100 и отсутствующее значение фактическое состояние MMCSS после загрузки.
  2. Даёт ли 10 практически значимое преимущество над 20 по p99 задержки синтетического MMCSS workload при полной загрузке CPU.
  3. Объясняется ли результат при отключённом MMCSS потерей повышения приоритета у зарегистрированного потока.

Даже подтверждённое изменение механизма и синтетической метрики не доказывает влияние на пользовательскую задержку, звук или производительность игры.

  • Windows 11 Pro 25H2 x64, build 26200.9168.
  • VMware VM: 4 vCPU, 8 GB RAM, план питания Balanced.
  • Основные состояния: отсутствующее значение, 0, 10, 20 и 100.
  • Дополнительная проверка границ: 1, 9, 11, 19, 21, 99, 101 и 0xFFFFFFFF.
  • Результат относится к одной виртуальной машине и одной сборке Windows.

Сборка подтверждается страницей обновления KB5121003 Microsoft Support.

Microsoft описывает MMCSS как механизм, который позволяет time-sensitive multimedia workload получать приоритетный доступ к CPU без полного вытеснения более низкоприоритетной работы. Параметр SystemResponsiveness хранится в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.

В документации MMCSS указано:

  • значения, не кратные 10, округляются вниз до ближайшего десятка;
  • значения ниже 10 и выше 100 приводятся к 20;
  • значение 100 отключает MMCSS;
  • Games, Audio, Playback и другие профили являются задачами MMCSS.

Приложение связывает текущий поток с задачей через AvSetMmThreadCharacteristics, меняет относительный приоритет через AvSetMmThreadPriority и снимает регистрацию через AvRevertMmThreadCharacteristics.

Документация не задаёт поведение отсутствующего Registry value. Его результат ниже является наблюдением только для проверенной сборки.

Основная метрика - p99 задержки запуска периодической работы в профиле Games при полной загрузке четырёх vCPU. Один независимый прогон соответствовал одному состоянию после отдельной загрузки Windows. Внутри каждого прогона выполнялось 2500 периодов, но они не считались независимыми повторами.

Для каждого состояния проведены две серии по 10 загрузок. Порядок состояний балансировался, выбросы не удалялись. Практически значимый порог был заранее установлен на уровне 1.784 ms. Для разницы с состоянием 20 использован парный bootstrap 95% CI.

Серии показаны отдельно: во второй серии работала дополнительная validation-only ETW-сессия, которой не было в первой. Она не была источником основной метрики, но второй блок оказался шумнее, поэтому объединённое число из 20 прогонов могло бы скрыть неоднородность данных.

Отдельная проверка механизма включала по четыре загрузки для 10, 20, 100 и отсутствующего значения. Один и тот же поток измерялся до попытки регистрации MMCSS, после неё и после cleanup. Проверялись результат регистрации, Win32 thread priority и фактический приоритет планировщика по ETW. Все 16 основных прогонов приняты; потерянных ETW events или buffers в этой серии не было. Инфраструктурные пилоты в результаты не включались.

Записано Наблюдаемое состояние после загрузки Результат
отсутствует MMCSS остановлен, регистрация не выполнена, API вернул 100 отдельное наблюдение для этой сборки
0, 1, 9 API вернул 20, MMCSS работает нормализовано до 20
10 API вернул 10, MMCSS работает значение используется
11, 19 API вернул 10, MMCSS работает округлено вниз
20 API вернул 20, MMCSS работает значение используется
21 API вернул 20, MMCSS работает округлено вниз
99 API вернул 90, MMCSS работает округлено вниз
100 MMCSS остановлен, регистрация не выполнена документированное отключение
101, 0xFFFFFFFF API вернул 20, MMCSS работает нормализовано до 20

Для числовых значений карта совпала с документацией Microsoft. При отсутствующем value число 100 вернулось без валидной регистрации MMCSS, поэтому оно указано как API fallback, а не как результат запроса к работающему MMCSS. Отключённое состояние в этой сборке подтверждалось отдельно по службе и регистрации, но его нельзя автоматически переносить на другие версии Windows.

Надёжное применение нового состояния наблюдалось после перезагрузки. Изменение Registry не поменяло состояние уже открытого MMCSS handle или нового процесса в текущей загрузке. Неудачная попытка остановки и запуска службы не считается поддержанным способом применения.

Положительная разница означает более высокую, то есть худшую, p99 задержку относительно 20.

Сравнение с 20 Серия 1, разница и 95% CI Серия 2, разница и 95% CI Вывод
10 +0.625 ms [-1.111; +2.474] +0.975 ms [-3.579; +5.613] преимущество не установлено; эквивалентность не доказана
0 +1.267 ms [-0.014; +2.564] -1.902 ms [-4.681; +0.718] результат неопределён и различается по направлению
100 +10.812 ms [+8.787; +12.915] +12.074 ms [+9.669; +14.127] практически значимый вред в синтетическом proxy
отсутствует +11.640 ms [+9.690; +13.480] +12.494 ms [+9.303; +16.208] практически значимый вред в синтетическом proxy

10 не показало практически значимого преимущества над 20 ни в одной серии. Широкий интервал второй серии допускает как пользу, так и вред, поэтому результат нельзя называть доказательством эквивалентности.

Состояние Регистрация Состояние MMCSS Win32 priority одного потока ETW priority одного потока
20 4/4 работает 0 -> 10 -> 0 8 -> 18 -> 8
10 4/4 работает 0 -> 10 -> 0 8 -> 18 -> 8
100 0/4 остановлен 0 -> 0 -> 0 8 -> 8 -> 8
отсутствует 0/4 остановлен 0 -> 0 -> 0 8 -> 8 -> 8

Последовательность в двух последних столбцах означает состояние до регистрации, после попытки регистрации и после cleanup. Process priority class не менялся.

Это напрямую подтверждает одну причину ухудшения синтетической метрики: при отключённом MMCSS тестовый поток продолжал ту же работу, но не получал повышение приоритета. Отдельный вклад CPU quota и других правил учёта ресурсов не изолирован.

100 и отсутствующее значение совпали по состоянию службы, результату регистрации и приоритету потока. Это не доказывает их полную эквивалентность во всех внутренних и пользовательских сценариях.

  • SystemResponsiveness меняет наблюдаемое состояние MMCSS после загрузки Windows.
  • 0 не создаёт эффективное состояние 0, а нормализуется до 20.
  • 10 и 20 допускают регистрацию потока и в этом тесте дают одинаковый переход его приоритета.
  • Практически значимое преимущество 10 над 20 по выбранной p99 метрике не установлено.
  • 100 отключает MMCSS; в проверенной сборке то же состояние наблюдалось при отсутствующем value.
  • У отключённого MMCSS тестовый поток не получил повышение приоритета, а синтетическая p99 задержка ухудшилась в обеих сериях.
  • Что 10 и 20 эквивалентны для всех MMCSS workload.
  • Что 10 повышает FPS, уменьшает input latency или улучшает звук.
  • Что 100 обязательно вызывает audio glitches, рассинхронизацию или проблемы в конкретной игре.
  • Что наблюдение для отсутствующего value повторяется на другой сборке Windows.
  • Что полученные миллисекунды являются физической end-to-end latency.
  • Что результат виртуальной машины переносится на физический ПК.

Исследование выполнено на одной VMware VM и одной сборке Windows. Синтетический профиль Games создаёт управляемую конкуренцию за CPU, но не воспроизводит игровой движок, аудиодрайвер, реальный input pipeline или display scanout.

Во второй серии дополнительная ETW-сессия использовалась только для валидации, но могла изменить общий уровень шума. Поэтому две серии не объединены в одну оценку. Механизм-проверка показывает потерю повышения приоритета, но не отделяет возможный вклад MMCSS quota и accounting policy.

Физический аудиотест, FPS, frametime, click-to-photon и input latency не измерялись. Независимого повторения на другой машине или сборке пока нет.

Не используйте 0 как способ задать «нулевой резерв»: Windows приводит его к 20. Не рассматривайте 10 как доказанно лучшее универсальное значение: в этой VM преимущество над 20 не установлено.

Не используйте 100 и не удаляйте значение ради «отключения ограничений». В проверенной среде это отключило MMCSS, лишило поток повышения приоритета и заметно ухудшило синтетическую p99 задержку. Без отдельного физического теста нельзя превращать этот вывод в точный прогноз FPS или звука.

Для обычной системы безопасный вывод ограничен сохранением штатного состояния Windows. Изменение оправдано только при заранее выбранной пользовательской метрике, повторных парных измерениях и подтверждённом возврате.

Краткая пользовательская рекомендация и точное состояние реестра опубликованы на странице «SystemResponsiveness».

После каждой экспериментальной фазы VM возвращалась к защищённому исходному состоянию. Контрольная загрузка подтвердила Registry value 20, работающий MMCSS, отсутствие активной трассировки и завершение тестовых процессов. После проверки выполнен повторный возврат, VM оставлена выключенной.

Публичные источники и формулировки проверены: 2026-08-25.

Исследование и использованные инструменты принадлежат разработчику BoosterX, поэтому у разработчика есть прямой интерес к результатам. Методика и границы применимости описаны выше, а выводы можно проверить по открытым данным и перечисленным публичным источникам. Наличие параметра в продукте не использовалось как доказательство; неопределённый результат для 10 и отрицательный результат отключения MMCSS сохранены без отбора.

BoosterX Wiki является независимой публикацией и не связана, не авторизована, не спонсируется и не одобрена Microsoft Corporation.

  • 2026-09-20: дисклеймер о конфликте интересов усилен до полной формулировки с принадлежностью исследования и инструментов.
  • 2026-08-25: первая публикация; добавлены две раздельные серии p99, проверка приоритета потока, границы для аудио и игр, а также подтверждённое восстановление состояния.