Plánovač, časovače a foreground boost Windows 11 25H2
Na této stránce
Krátká odpověď
Sekce “Krátká odpověď”Tyto hodnoty řídí plánovač, rozlišení časovačů, distribuci taktovacích přerušení a rozpočet DPC. Podle samotného názvu nelze určit celý efekt: Windows používá bitové masky a normalizuje vstupní hodnoty. Různé záznamy mohou nastavovat stejný režim činnosti.
Co se kontrolovalo
Sekce “Co se kontrolovalo”Kontrolovalo se, které parametry plánovače a časovačů jádro čte, jak se hodnoty normalizují a která pole Win32PrioritySeparation za co odpovídají.
Rozsah výzkumu
Sekce “Rozsah výzkumu”Windows 11 25H2 build 26200.9168, scheduler a timer paths jádra. Konkrétní hry a aplikace do měření zahrnuty nebyly.
Metodika
Sekce “Metodika”Hlavní tabulka parametrů jádra, sledování runtime přístupů k Registry a kontrola bitových polí a normalizace hodnot.
Kanonické parametry
Sekce “Kanonické parametry”| Registry path | Value | Type | Default | Reader/timing |
|---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl |
Win32PrioritySeparation |
REG_DWORD |
0x02 |
ntoskrnl.exe, poté session initialization |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel |
GlobalTimerResolutionRequests |
REG_DWORD |
0 |
kernel phase-0 |
| stejná cesta | MaxDynamicTickDuration |
REG_DWORD |
0xFFFFFFFF |
dynamic tick duration limit |
| stejná cesta | EnablePerCpuClockTickScheduling |
REG_DWORD |
0 |
phase-1 clock init |
| stejná cesta | DisableLowQosTimerResolution |
REG_DWORD |
1 |
timer policy init |
| stejná cesta | DpcCumulativeSoftTimeout |
REG_DWORD |
120000 |
DPC budget init |
| stejná cesta | ForceForegroundBoostDecay |
REG_DWORD |
0 |
scheduler init |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System |
PassiveIntRealTimeWorkerPriority |
REG_DWORD |
16 |
I/O worker init |
Win32PrioritySeparation
Sekce “Win32PrioritySeparation”Hodnota se skládá z bitových polí. Jádro samostatně určuje zesílení aktivní aplikace (foreground boost), typ a délku kvanta. Ve zkoumaném buildu je počáteční hodnota klientské Windows rovna 0x02. Na vstupní hodnotu se aplikuje maska 0x3F, proto různé záznamy mohou nastavovat jeden režim plánovače.
Rozbor bitových polí po bitech, kalkulačka ekvivalentních hodnot a historická měření latence a FPS jsou vyčleněny do samostatného výzkumu «Win32PrioritySeparation: latence a FPS při plném zatížení CPU». Uživatelskou stránku otázky — volbu, efekt a vrácení — uzavírá stránka nastavení BoosterX.
Parametr mění pravidla plánování. Pro posouzení přínosu v konkrétní úloze je třeba zopakovat test se zatížením CPU a změřit latenci; univerzální zrychlení nastavení nezaručuje.
Timer policy
Sekce “Timer policy”GlobalTimerResolutionRequests a sousední parametry časovačů se čtou z Session Manager\Kernel. Ovlivňují rozsah platnosti požadavků na rozlišení časovače, místní nebo celosystémový, a distribuci taktovacích přerušení mezi CPU. Na podporovaných platformách může oddělené plánování taktů po CPU fungovat i bez vynuceného nastavení.
MaxDynamicTickDuration omezuje délku spánku v nečinnosti bez periodických taktů. Jednotka měření činí 100 nanosekund: 7500 znamená 0.75 ms, nikoli 7.5 ms. Horní hranice je navíc omezena aktuálním rozlišením časovače. 0xFFFFFFFF odstraňuje dodatečný limit.
DisableLowQosTimerResolution mění omezení pro požadavky na rozlišení časovače s nízkou prioritou. Trvale vysoké rozlišení se tím samo o sobě nenastavuje.
Měnit pravidla časovačů má smysl jen pro zátěž, která takové požadavky skutečně vykonává. Trvale vysoké rozlišení zvyšuje počet přerušení časovače a spotřebu energie.
DPC budget a boost decay
Sekce “DPC budget a boost decay”DpcCumulativeSoftTimeout zadává rozpočet celkového času vykonávání DPC. Jeho hranice normalizace, vztah k DpcWatchdogPeriod a sousední parametry DPC a worker-limity jsou rozebrány ve výzkumu «DPC a Kernel Executive workers v Windows 11 25H2»; zde se nepřevypravují. ForceForegroundBoostDecay mění pravidla útlumu zesílení aktivní aplikace a PassiveIntRealTimeWorkerPriority zadává prioritu speciálního pracovního vlákna vstupu-výstupu. Pro PassiveIntRealTimeWorkerPriority kód přijímá 17..21; při absenci záznamu se používá 16. Hodnota 18 je přípustná a zvyšuje prioritu.
Při srovnání berte v úvahu jednotky měření a omezení rozsahů. Jádro normalizuje nepodporované hodnoty, proto se zapsané číslo může lišit od skutečně použitého.
Tyto parametry se týkají systémového plánování a diagnostiky ovladačů. Bez trasy DPC/ISR nejsou pro jejich ruční změnu spolehlivé důvody.
Výsledky
Sekce “Výsledky”- Čtení všech parametrů tabulky potvrzeno v
ntoskrnl.exebuildu26200.9168:Win32PrioritySeparationse čte při inicializaci plánovače a session initialization, parametry časovačů — ve fázích inicializace jádra. - Potvrzeny počáteční hodnoty a normalizace: maska
0x3FproWin32PrioritySeparation, rozsah17..21s rezervním16proPassiveIntRealTimeWorkerPriority, jednotka 100 ns uMaxDynamicTickDuration. - Samotná pozorování jsou kvalitativní: hodnoty latence, FPS nebo zátěže na pozadí se v tomto výzkumu neměřily.
Co je potvrzeno
Sekce “Co je potvrzeno”- Readers a normalizace parametrů v
ntoskrnl.exezkoumaného buildu. - Počáteční hodnota
0x02proWin32PrioritySeparationa maska0x3F. - Význam polí boost a kvant, jednotky
MaxDynamicTickDuration. - Normalizace
PassiveIntRealTimeWorkerPrioritydo rozsahu17..21při rezervním16.
Co není potvrzeno
Sekce “Co není potvrzeno”- Vliv změny na FPS, latenci nebo odezvu.
- Přínos změny bez zátěže, která časovače a DPC skutečně využívá.
Praktický závěr
Sekce “Praktický závěr”Ponechte standardní hodnoty. Parametry měňte jen pro zátěž, která příslušné požadavky skutečně vykonává, a výsledky srovnávejte ve stejných bězích.
Obnovení stavu
Sekce “Obnovení stavu”Vraťte standardní hodnoty nebo odstraňte volitelné záznamy. Parametry jádra se použijí při příštím spuštění Windows.
Omezení
Sekce “Omezení”Čtení ve fázi 0 spuštění se nemusí vejít do intervalu záznamu Procmon. Výzkum potvrzuje kód čtení a normalizaci na buildu 26200.9168. Počet nezávislých běhů pozorování (spuštění a tras) není v datech článku zaznamenán, proto opakovatelnost samotných pozorování čtenářů nebyla kvantitativně hodnocena. Univerzální vliv na výkon nebo latenci nebyl stanoven.
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ů.
Zdroje
Sekce “Zdroje”- Win32PrioritySeparation, Microsoft Learn, ověřeno 2026-09-01.
- Timer resolution, Microsoft Learn, ověřeno 2026-09-01.
Veřejné zdroje ověřeny: 2026-09-02.
Historie změn
Sekce “Historie změn”- 2026-09-20: přidán disclaimer o střetu zájmů; sladěna data reviewed/modified.
- 2026-09-19: přidány sekce «Výsledky», křížové odkazy na výzkumy
Win32PrioritySeparationa DPC/worker-parametrů a stránka nastavení BoosterX; zaznamenána absence počtu běhů pozorování. - 2026-09-02: první publikace; potvrzeny readers, normalizace a bitová pole, přidány hranice praktického přínosu.
