Windows 11 25H2 のスケジューラ、タイマー、フォアグラウンドブースト
目次
これらの値はスケジューラ、タイマー解像度、クロック割り込みの分散、DPC バジェットを制御します。名前だけでは効果の全体を判断できません。Windows はビットマスクを適用し、入力値を正規化します。異なるレジストリ値が同じ動作モードを指定することがあります。
確認した内容
Section titled “確認した内容”カーネルがどのスケジューラおよびタイマーパラメータを読み取るか、値がどのように正規化されるか、Win32PrioritySeparation のどのフィールドが何を担うかを確認しました。
Windows 11 25H2 build 26200.9168、カーネルの scheduler および timer paths。特定のゲームやアプリケーションは測定対象に含まれていません。
カーネルパラメータのマスターテーブル、Registry への runtime アクセスの観察、ビットフィールドと値の正規化の検証。
正規パラメータ
Section titled “正規パラメータ”| Registry path | Value | Type | Default | Reader/timing |
|---|---|---|---|---|
HKLM\SYSTEM\CurrentControlSet\Control\PriorityControl |
Win32PrioritySeparation |
REG_DWORD |
0x02 |
ntoskrnl.exe、その後 session initialization |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Kernel |
GlobalTimerResolutionRequests |
REG_DWORD |
0 |
kernel phase-0 |
| 同じパス | MaxDynamicTickDuration |
REG_DWORD |
0xFFFFFFFF |
dynamic tick duration limit |
| 同じパス | EnablePerCpuClockTickScheduling |
REG_DWORD |
0 |
phase-1 clock init |
| 同じパス | DisableLowQosTimerResolution |
REG_DWORD |
1 |
timer policy init |
| 同じパス | DpcCumulativeSoftTimeout |
REG_DWORD |
120000 |
DPC budget init |
| 同じパス | ForceForegroundBoostDecay |
REG_DWORD |
0 |
scheduler init |
HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\I/O System |
PassiveIntRealTimeWorkerPriority |
REG_DWORD |
16 |
I/O worker init |
Win32PrioritySeparation
Section titled “Win32PrioritySeparation”値はビットフィールドで構成されています。カーネルはアクティブアプリケーションの強化(foreground boost)、クォンタムの種類と長さを別々に決定します。調査したビルドでは、クライアント版 Windows の初期値は 0x02 です。入力値にはマスク 0x3F が適用されるため、異なるレジストリ値が同じスケジューラモードを指定することがあります。
ビットごとのビットフィールド解析、等価値の計算機、レイテンシと FPS の過去の測定は別の調査 「Win32PrioritySeparation: 完全な CPU 負荷時のレイテンシと FPS」 に分離されています。ユーザー側の側面 — 選択、効果、元に戻す方法 — は BoosterX の設定ページ で扱っています。
このパラメータはスケジューリング規則を変更します。特定のタスクでの有用性を評価するには、CPU 負荷をかけたテストを繰り返してレイテンシを測定する必要があります。この設定が普遍的な高速化を保証するものではありません。
Timer policy
Section titled “Timer policy”GlobalTimerResolutionRequests と隣接するタイマーパラメータは Session Manager\Kernel から読み取られます。これらはタイマー解像度要求の適用範囲(ローカルまたはシステム全体)と、CPU 間のクロック割り込みの分散に影響します。対応プラットフォームでは、CPU ごとの個別クロック スケジューリングは強制的な設定なしでも動作することがあります。
MaxDynamicTickDuration は、周期的なクロックのないアイドル時のスリープ時間を制限します。測定単位は 100 ナノ秒です。7500 は 0.75 ms を意味し、7.5 ms ではありません。上限は現在のタイマー解像度によってさらに制限されます。0xFFFFFFFF は追加の制限を解除します。
DisableLowQosTimerResolution は低優先度のタイマー解像度要求に対する制限を変更します。ただし、これ自体が恒久的に高い解像度を設定するものではありません。
タイマー規則の変更は、実際にそのような要求を実行する負荷に対してのみ行うべきです。恒久的に高い解像度はタイマー割り込みの数を増やし、消費電力を増大させます。
DPC budget と boost decay
Section titled “DPC budget と boost decay”DpcCumulativeSoftTimeout は DPC の合計実行時間のバジェットを設定します。その正規化の境界、DpcWatchdogPeriod との関係、隣接する DPC パラメータと worker 制限は調査 「Windows 11 25H2 における DPC と Kernel Executive workers」 で分析されています。ここでは繰り返しません。ForceForegroundBoostDecay はアクティブアプリケーションの強化の減衰規則を変更し、PassiveIntRealTimeWorkerPriority は特別な入出力ワーカースレッドの優先度を設定します。PassiveIntRealTimeWorkerPriority について、コードは 17..21 を受け入れます。レジストリ値が存在しない場合は 16 が使用されます。値 18 は有効であり、優先度を高めます。
比較する際は測定単位と範囲の制限を考慮してください。カーネルはサポートされていない値を正規化するため、書き込まれた数値が実際に適用された値と異なることがあります。
これらのパラメータはシステム スケジューリングとドライバー診断に関係します。DPC/ISR トレースなしでは、手動で変更する確実な根拠はありません。
- テーブルのすべてのパラメータの読み取りが
ntoskrnl.exeビルド26200.9168で確認されました。Win32PrioritySeparationはスケジューラの初期化と session initialization で読み取られ、タイマーパラメータはカーネル初期化フェーズで読み取られます。 - 初期値と正規化が確認されました。
Win32PrioritySeparationに対するマスク0x3F、PassiveIntRealTimeWorkerPriorityに対する範囲17..21と予備値16、MaxDynamicTickDurationの 100 ns 単位。 - 観察自体は定性的なものです。この調査ではレイテンシ、FPS、バックグラウンド負荷の値は測定されていません。
確認されたこと
Section titled “確認されたこと”- 調査したビルドの
ntoskrnl.exeにおけるパラメータの Readers と正規化。 Win32PrioritySeparationの初期値0x02とマスク0x3F。- boost とクォンタムのフィールドの意味、
MaxDynamicTickDurationの単位。 - 予備値
16使用時のPassiveIntRealTimeWorkerPriorityの範囲17..21への正規化。
確認されていないこと
Section titled “確認されていないこと”- 変更が FPS、レイテンシ、応答性に与える影響。
- タイマーと DPC を実際に使用する負荷がない場合の変更の有用性。
実用的な結論
Section titled “実用的な結論”既定値のままにしてください。パラメータは、対応する要求を実際に実行する負荷に対してのみ変更し、結果は同一の実行条件で比較してください。
既定値に戻すか、不要なレジストリ値を削除してください。カーネルパラメータは次回の Windows 起動時に適用されます。
起動フェーズ 0 の読み取りは Procmon の記録間隔に含まれないことがあります。この調査はビルド 26200.9168 における読み取りコードと正規化を確認したものです。記事のデータには観察の独立した実行回数(起動とトレース)が記録されていないため、読み取り観察自体の再現性は定量的に評価されていません。パフォーマンスやレイテンシへの普遍的な影響は確認されていません。
この調査と使用されたツールは BoosterX の開発者に帰属するため、開発者は結果に対して直接の利害関係を持っています。手法と適用範囲は上記に記載されており、結論は公開データと列挙された公開情報源によって検証できます。
- Win32PrioritySeparation、Microsoft Learn、確認日 2026-09-01。
- Timer resolution、Microsoft Learn、確認日 2026-09-01。
公開情報源の確認日: 2026-09-02。
- 2026-09-20: 利害関係の衝突に関する免責事項を追加。reviewed/modified の日付を整合。
- 2026-09-19: 「結果」セクション、
Win32PrioritySeparationと DPC/worker パラメータの調査への相互リンク、BoosterX の設定ページを追加。観察の実行回数が記載されていないことを明記。 - 2026-09-02: 初回公開。readers、正規化、ビットフィールドを確認し、実用的な有用性の範囲を追加。
