Přeskočit na obsah

SystemResponsiveness a MMCSS: co dělají hodnoty 0, 10, 20 a 100

Na této stránce

V BoosterX je tento parametr zastoupen nastavením „SystemResponsiveness“. Hodnota 10 mění rezervu MMCSS, ale výhoda nad 20 v testovaném scénáři nebyla prokázána; 100 vypíná MMCSS.

SystemResponsiveness není placebo. Je to parametr MMCSS, který Windows normalizuje a aplikuje při načtení. Ve zkoumané Windows 11 hodnota 0 dala stejný efektivní stav 20 a 10 změnilo stav MMCSS, ale neprokázalo výhodu nad 20 v syntetickém testu plánovače.

Hodnota 100 vypnula MMCSS. Registrace vlákna neproběhla, vlákno nezískalo zvýšení priority a p99 latence syntetického plánovacího workloadu vzrostla přibližně o 11-12 ms vůči 20. Takový výsledek neznamená, že Windows jako celek zpomalily o 60 %, a nedokazuje zhoršení FPS, input latency ani skutečného zvuku.

Související nastavení BoosterX

Sekce “Související nastavení BoosterX”

Praktická stránka nastavení: „Rezerva CPU pro úlohy na pozadí“.

Výzkum ověřoval tři samostatná tvrzení:

  1. Zda 0, 10, 20, 100 a chybějící hodnota mění skutečný stav MMCSS po načtení.
  2. Zda 10 dává prakticky významnou výhodu nad 20 podle p99 latence syntetického MMCSS workloadu při plném vytížení CPU.
  3. Zda je výsledek při vypnutém MMCSS vysvětlitelný ztrátou zvýšení priority u registrovaného vlákna.

Dokonce ani potvrzená změna mechanismu a syntetické metriky nedokazuje vliv na uživatelskou latenci, zvuk nebo výkon hry.

  • Windows 11 Pro 25H2 x64, build 26200.9168.
  • VMware VM: 4 vCPU, 8 GB RAM, plán napájení Balanced.
  • Hlavní stavy: chybějící hodnota, 0, 10, 20 a 100.
  • Doplňková kontrola hranic: 1, 9, 11, 19, 21, 99, 101 a 0xFFFFFFFF.
  • Výsledek se vztahuje k jednomu virtuálnímu stroji a jednomu buildu Windows.

Build je potvrzen stránkou aktualizace KB5121003 Microsoft Support.

Co dokumentuje Microsoft

Sekce “ Co dokumentuje Microsoft”

Microsoft popisuje MMCSS jako mechanismus, který umožňuje time-sensitive multimedia workloadu získat přednostní přístup k CPU bez úplného vytlačení práce s nižší prioritou. Parametr SystemResponsiveness je uložen v HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile.

V dokumentaci MMCSS je uvedeno:

  • hodnoty, které nejsou násobkem 10, se zaokrouhlují dolů k nejbližší desítce;
  • hodnoty nižší než 10 a vyšší než 100 se převádějí na 20;
  • hodnota 100 vypíná MMCSS;
  • Games, Audio, Playback a další profily jsou úlohy MMCSS.

Aplikace propojuje aktuální vlákno s úlohou přes AvSetMmThreadCharacteristics, mění relativní prioritu přes AvSetMmThreadPriority a ruší registraci přes AvRevertMmThreadCharacteristics.

Dokumentace neurčuje chování chybějícího Registry value. Jeho výsledek níže je pozorováním pouze pro testovaný build.

Hlavní metrika - p99 latence spuštění periodické práce v profilu Games při plném vytížení čtyř vCPU. Jeden nezávislý běh odpovídal jednomu stavu po samostatném načtení Windows. Uvnitř každého běhu bylo provedeno 2500 period, ale nebyly považovány za nezávislé opakování.

Pro každý stav byly provedeny dvě série po 10 načteních. Pořadí stavů bylo vyváženo, odlehlé hodnoty nebyly odstraněny. Prakticky významný práh byl předem stanoven na úrovni 1.784 ms. Pro rozdíl se stavem 20 byl použit párový bootstrap 95% CI.

Série jsou uvedeny samostatně: ve druhé sérii běžela doplňková validation-only ETW session, která v první nebyla. Nebyla zdrojem hlavní metriky, ale druhý blok se ukázal být hlučnější, takže spojený počet z 20 běhů by mohl skrýt nehomogenitu dat.

Samostatná kontrola mechanismu zahrnovala po čtyřech načteních pro 10, 20, 100 a chybějící hodnotu. Stejné vlákno bylo měřeno před pokusem o registraci MMCSS, po ní a po cleanup. Byly ověřeny výsledek registrace, Win32 thread priority a skutečná priorita plánovače podle ETW. Všech 16 hlavních běhů bylo přijato; ztracené ETW events nebo buffers v této sérii nebyly. Infrastrukturní piloty nebyly do výsledků zahrnuty.

Jak Windows zpracovaly hodnoty

Sekce “Jak Windows zpracovaly hodnoty”
Zapsáno Pozorovaný stav po načtení Výsledek
chybí MMCSS zastaven, registrace neprovedena, API vrátilo 100 samostatné pozorování pro tento build
0, 1, 9 API vrátilo 20, MMCSS běží normalizováno na 20
10 API vrátilo 10, MMCSS běží hodnota se používá
11, 19 API vrátilo 10, MMCSS běží zaokrouhleno dolů
20 API vrátilo 20, MMCSS běží hodnota se používá
21 API vrátilo 20, MMCSS běží zaokrouhleno dolů
99 API vrátilo 90, MMCSS běží zaokrouhleno dolů
100 MMCSS zastaven, registrace neprovedena dokumentované vypnutí
101, 0xFFFFFFFF API vrátilo 20, MMCSS běží normalizováno na 20

Pro číselné hodnoty se mapa shodovala s dokumentací Microsoft. Při chybějícím value se číslo 100 vrátilo bez platné registrace MMCSS, proto je uvedeno jako API fallback, a ne jako výsledek dotazu na běžící MMCSS. Vypnutý stav byl v tomto buildu potvrzen samostatně podle služby a registrace, ale nelze jej automaticky přenášet na jiné verze Windows.

Spolehlivé použití nového stavu bylo pozorováno po restartu. Změna Registry nezměnila stav již otevřeného MMCSS handle ani nového procesu v aktuálním načtení. Neúspěšný pokus o zastavení a spuštění služby se nepovažuje za podporovaný způsob použití.

Kladný rozdíl znamená vyšší, tedy horší, p99 latenci vůči 20.

Srovnání s 20 Série 1, rozdíl a 95% CI Série 2, rozdíl a 95% CI Závěr
10 +0.625 ms [-1.111; +2.474] +0.975 ms [-3.579; +5.613] výhoda neprokázána; ekvivalence neprokázána
0 +1.267 ms [-0.014; +2.564] -1.902 ms [-4.681; +0.718] výsledek neurčitý a liší se směrem
100 +10.812 ms [+8.787; +12.915] +12.074 ms [+9.669; +14.127] prakticky významná škoda v syntetickém proxy
chybí +11.640 ms [+9.690; +13.480] +12.494 ms [+9.303; +16.208] prakticky významná škoda v syntetickém proxy

10 neprokázalo prakticky významnou výhodu nad 20 v žádné sérii. Široký interval druhé série připouští jak prospěch, tak škodu, proto výsledek nelze nazývat důkazem ekvivalence.

Co se změnilo při vypnutí MMCSS

Sekce “Co se změnilo při vypnutí MMCSS”
Stav Registrace Stav MMCSS Win32 priority jednoho vlákna ETW priority jednoho vlákna
20 4/4 běží 0 -> 10 -> 0 8 -> 18 -> 8
10 4/4 běží 0 -> 10 -> 0 8 -> 18 -> 8
100 0/4 zastaven 0 -> 0 -> 0 8 -> 8 -> 8
chybí 0/4 zastaven 0 -> 0 -> 0 8 -> 8 -> 8

Posloupnost v posledních dvou sloupcích znamená stav před registrací, po pokusu o registraci a po cleanup. Process priority class se nezměnil.

To přímo potvrzuje jednu příčinu zhoršení syntetické metriky: při vypnutém MMCSS testovací vlákno pokračovalo ve stejné práci, ale nezískalo zvýšení priority. Samostatný příspěvek CPU quota a dalších pravidel účtování zdrojů není izolován.

100 a chybějící hodnota se shodovaly ve stavu služby, výsledku registrace a prioritě vlákna. To nedokazuje jejich úplnou ekvivalenci ve všech vnitřních a uživatelských scénářích.

  • SystemResponsiveness mění pozorovaný stav MMCSS po načtení Windows.
  • 0 nevytváří efektivní stav 0, ale normalizuje se na 20.
  • 10 a 20 umožňují registraci vlákna a v tomto testu dávají stejný přechod jeho priority.
  • Prakticky významná výhoda 10 nad 20 podle zvolené p99 metriky nebyla prokázána.
  • 100 vypíná MMCSS; v testovaném buildu byl stejný stav pozorován při chybějícím value.
  • U vypnutého MMCSS testovací vlákno nezískalo zvýšení priority a syntetická p99 latence se zhoršila v obou sériích.
  • Že 10 a 20 jsou ekvivalentní pro všechny MMCSS workloady.
  • Že 10 zvyšuje FPS, snižuje input latency nebo zlepšuje zvuk.
  • Že 100 nutně způsobuje audio glitches, rozsynchronizování nebo problémy v konkrétní hře.
  • Že se pozorování pro chybějící value opakuje na jiném buildu Windows.
  • Že získané milisekundy jsou fyzickou end-to-end latency.
  • Že se výsledek virtuálního stroje přenáší na fyzický PC.

Výzkum byl proveden na jedné VMware VM a jednom buildu Windows. Syntetický profil Games vytváří řízenou konkurenci o CPU, ale nereprodukuje herní engine, audio ovladač, skutečný input pipeline ani display scanout.

Ve druhé sérii byla doplňková ETW session použita pouze pro validaci, ale mohla změnit celkovou úroveň šumu. Proto nejsou dvě série spojeny do jednoho hodnocení. Kontrola mechanismu ukazuje ztrátu zvýšení priority, ale neodděluje možný příspěvek MMCSS quota a accounting policy.

Fyzický audio test, FPS, frametime, click-to-photon a input latency nebyly měřeny. Nezávislé opakování na jiném stroji nebo buildu zatím neexistuje.

Nepoužívejte 0 jako způsob, jak nastavit „nulovou rezervu“: Windows jej převádějí na 20. Nepovažujte 10 za prokázaně lepší univerzální hodnotu: v této VM nebyla výhoda nad 20 prokázána.

Nepoužívejte 100 a neodstraňujte hodnotu kvůli „vypnutí omezení“. V testovaném prostředí to vypnulo MMCSS, připravilo vlákno o zvýšení priority a znatelně zhoršilo syntetickou p99 latenci. Bez samostatného fyzického testu nelze tento závěr měnit na přesnou předpověď FPS nebo zvuku.

Pro běžný systém je bezpečný závěr omezen na zachování standardního stavu Windows. Změna je opodstatněná pouze při předem zvolené uživatelské metrice, opakovaných párových měřeních a potvrzeném návratu.

Krátké uživatelské doporučení a přesný stav registru jsou zveřejněny na stránce „SystemResponsiveness“.

Po každé experimentální fázi se VM vrátila k chráněnému výchozímu stavu. Kontrolní načtení potvrdilo Registry value 20, běžící MMCSS, nepřítomnost aktivního trasování a ukončení testovacích procesů. Po kontrole byl proveden opakovaný návrat, VM zůstala vypnutá.

Veřejné primární zdroje

Sekce “ Veřejné primární zdroje”

Veřejné zdroje a formulace ověřeny: 2026-08-25.

Výzkum a použité nástroje patří vývojáři BoosterX, proto má vývojář přímý zájem na výsledcích. Metodika a hranice použitelnosti jsou popsány výše a závěry lze ověřit podle otevřených dat a uvedených veřejných zdrojů. Přítomnost parametru v produktu nebyla použita jako důkaz; neurčitý výsledek pro 10 a negativní výsledek vypnutí MMCSS jsou zachovány bez výběru.

BoosterX Wiki je nezávislá publikace a není spojena, autorizována, sponzorována ani schválena Microsoft Corporation.

  • 2026-09-20: disclaimer o konfliktu zájmů posílen na plnou formulaci s vlastnictvím výzkumu a nástrojů.
  • 2026-08-25: první publikace; přidány dvě samostatné série p99, kontrola priority vlákna, hranice pro audio a hry a také potvrzené obnovení stavu.