コンテンツにスキップ

Windows 11 25H2 のスケジューラ、タイマー、フォアグラウンドブースト

目次

これらの値はスケジューラ、タイマー解像度、クロック割り込みの分散、DPC バジェットを制御します。名前だけでは効果の全体を判断できません。Windows はビットマスクを適用し、入力値を正規化します。異なるレジストリ値が同じ動作モードを指定することがあります。

カーネルがどのスケジューラおよびタイマーパラメータを読み取るか、値がどのように正規化されるか、Win32PrioritySeparation のどのフィールドが何を担うかを確認しました。

Windows 11 25H2 build 26200.9168、カーネルの scheduler および timer paths。特定のゲームやアプリケーションは測定対象に含まれていません。

カーネルパラメータのマスターテーブル、Registry への runtime アクセスの観察、ビットフィールドと値の正規化の検証。

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

値はビットフィールドで構成されています。カーネルはアクティブアプリケーションの強化(foreground boost)、クォンタムの種類と長さを別々に決定します。調査したビルドでは、クライアント版 Windows の初期値は 0x02 です。入力値にはマスク 0x3F が適用されるため、異なるレジストリ値が同じスケジューラモードを指定することがあります。

ビットごとのビットフィールド解析、等価値の計算機、レイテンシと FPS の過去の測定は別の調査 「Win32PrioritySeparation: 完全な CPU 負荷時のレイテンシと FPS」 に分離されています。ユーザー側の側面 — 選択、効果、元に戻す方法 — は BoosterX の設定ページ で扱っています。

このパラメータはスケジューリング規則を変更します。特定のタスクでの有用性を評価するには、CPU 負荷をかけたテストを繰り返してレイテンシを測定する必要があります。この設定が普遍的な高速化を保証するものではありません。

GlobalTimerResolutionRequests と隣接するタイマーパラメータは Session Manager\Kernel から読み取られます。これらはタイマー解像度要求の適用範囲(ローカルまたはシステム全体)と、CPU 間のクロック割り込みの分散に影響します。対応プラットフォームでは、CPU ごとの個別クロック スケジューリングは強制的な設定なしでも動作することがあります。

MaxDynamicTickDuration は、周期的なクロックのないアイドル時のスリープ時間を制限します。測定単位は 100 ナノ秒です。7500 は 0.75 ms を意味し、7.5 ms ではありません。上限は現在のタイマー解像度によってさらに制限されます。0xFFFFFFFF は追加の制限を解除します。

DisableLowQosTimerResolution は低優先度のタイマー解像度要求に対する制限を変更します。ただし、これ自体が恒久的に高い解像度を設定するものではありません。

タイマー規則の変更は、実際にそのような要求を実行する負荷に対してのみ行うべきです。恒久的に高い解像度はタイマー割り込みの数を増やし、消費電力を増大させます。

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、バックグラウンド負荷の値は測定されていません。
  • 調査したビルドの ntoskrnl.exe におけるパラメータの Readers と正規化。
  • Win32PrioritySeparation の初期値 0x02 とマスク 0x3F。
  • boost とクォンタムのフィールドの意味、MaxDynamicTickDuration の単位。
  • 予備値 16 使用時の PassiveIntRealTimeWorkerPriority の範囲 17..21 への正規化。
  • 変更が FPS、レイテンシ、応答性に与える影響。
  • タイマーと DPC を実際に使用する負荷がない場合の変更の有用性。

既定値のままにしてください。パラメータは、対応する要求を実際に実行する負荷に対してのみ変更し、結果は同一の実行条件で比較してください。

既定値に戻すか、不要なレジストリ値を削除してください。カーネルパラメータは次回の Windows 起動時に適用されます。

起動フェーズ 0 の読み取りは Procmon の記録間隔に含まれないことがあります。この調査はビルド 26200.9168 における読み取りコードと正規化を確認したものです。記事のデータには観察の独立した実行回数(起動とトレース)が記録されていないため、読み取り観察自体の再現性は定量的に評価されていません。パフォーマンスやレイテンシへの普遍的な影響は確認されていません。

この調査と使用されたツールは BoosterX の開発者に帰属するため、開発者は結果に対して直接の利害関係を持っています。手法と適用範囲は上記に記載されており、結論は公開データと列挙された公開情報源によって検証できます。

公開情報源の確認日: 2026-09-02。

  • 2026-09-20: 利害関係の衝突に関する免責事項を追加。reviewed/modified の日付を整合。
  • 2026-09-19: 「結果」セクション、Win32PrioritySeparation と DPC/worker パラメータの調査への相互リンク、BoosterX の設定ページを追加。観察の実行回数が記載されていないことを明記。
  • 2026-09-02: 初回公開。readers、正規化、ビットフィールドを確認し、実用的な有用性の範囲を追加。