コンテンツにスキップ

SystemResponsivenessとMMCSS:値0、10、20、100が何をするのか

目次

BoosterX では、このパラメータは「SystemResponsiveness」設定として提供されています。値 10 は MMCSS の予約を変更しますが、検証済みのシナリオにおいて 20 に対する優位性は確認されていません; 100 は MMCSS を無効化します。

SystemResponsiveness はプラセボではありません。これは Windows が起動時に正規化して適用する MMCSS のパラメータです。調査した Windows 11 では、値 0 は同じ有効状態 20 をもたらし、10 は MMCSS の状態を変更しましたが、スケジューラの合成テストにおいて 20 に対する優位性を示しませんでした。

値 100 は MMCSS を無効化しました。スレッドの登録は実行されず、スレッドは優先度の引き上げを受け取らず、合成スケジューリング workload の p99 レイテンシは 20 に対して約 11-12 ms 増加しました。この結果は、Windows 全体が 60% 遅くなったことを意味するものではなく、FPS、input latency、実際の音声の悪化を証明するものでもありません。

実用的な設定ページ: 「バックグラウンドタスク用の CPU 予約」。

調査では三つの個別の主張を検証しました:

  1. 0、10、20、100 および値が存在しない場合が、起動後の MMCSS の実際の状態を変更するかどうか。
  2. CPU が完全に負荷された状態で、10 が合成 MMCSS workload の p99 レイテンシにおいて 20 に対して実用的に意味のある優位性をもたらすかどうか。
  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 ビルドに適用されます。

ビルドは Microsoft Support の更新ページ KB5121003 で確認されています。

Microsoft は MMCSS を、time-sensitive multimedia workload が低優先度の作業を完全に排除することなく CPU への優先的なアクセスを得られるようにするメカニズムとして説明しています。パラメータ SystemResponsiveness は HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile に格納されています。

MMCSS のドキュメント には次のように記載されています:

  • 10 の倍数でない値は、直近の 10 の位へ切り捨てられます;
  • 10 未満および 100 を超える値は 20 に補正されます;
  • 値 100 は MMCSS を無効化します;
  • Games、Audio、Playback およびその他のプロファイルは MMCSS のタスクです。

アプリケーションは AvSetMmThreadCharacteristics を介して現在のスレッドをタスクに関連付け、AvSetMmThreadPriority を介して相対優先度を変更し、AvRevertMmThreadCharacteristics を介して登録を解除します。

ドキュメントは Registry value が存在しない場合の動作を規定していません。以下に示すその結果は、検証済みビルドに限った観察です。

主要なメトリクスは、4 つの vCPU が完全に負荷された状態でのプロファイル Games における周期的な作業の起動レイテンシの p99 です。1 回の独立した実行は、個別の Windows 起動後の 1 つの状態に対応していました。各実行内では 2500 周期が実行されましたが、それらは独立した反復とは見なされませんでした。

各状態について、10 回の起動からなる 2 つのシリーズが実施されました。状態の順序はバランスが取られ、外れ値は除去されませんでした。実用的に意味のある閾値は事前に 1.784 ms の水準に設定されました。20 の状態との差にはペア bootstrap 95% CI が使用されました。

シリーズは別々に示されています: 第 2 シリーズでは、第 1 シリーズにはなかった追加の validation-only ETW セッションが動作していました。それは主要メトリクスのソースではありませんでしたが、第 2 ブロックはよりノイズが多かったため、20 回の実行を統合した数値はデータの不均一性を隠してしまう可能性がありました。

メカニズムの個別検証には、10、20、100 および値が存在しない場合について各 4 回の起動が含まれていました。同一のスレッドが、MMCSS 登録の試行前、試行後、および cleanup 後に測定されました。登録の結果、Win32 thread priority、および ETW による実際のスケジューラ優先度が検証されました。16 回の主要な実行はすべて採用されました; このシリーズでは失われた ETW events や buffers はありませんでした。インフラストラクチャのパイロットは結果に含まれていません。

Windows が値をどのように処理したか

Section titled “Windows が値をどのように処理したか”
記録値 起動後に観察された状態 結果
存在しない 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 登録なしで返されたため、動作中の MMCSS へのクエリの結果ではなく API fallback として記載されています。このビルドにおける無効化状態は、サービスと登録によって個別に確認されましたが、それを他の Windows バージョンに自動的に適用することはできません。

新しい状態の確実な適用は再起動後に観察されました。Registry の変更は、既に開かれている MMCSS handle や現在の起動における新しいプロセスの状態を変更しませんでした。サービスの停止と起動の失敗した試行は、サポートされた適用方法とは見なされません。

正の差は、20 に対するより高い、つまりより悪い p99 レイテンシを意味します。

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 に対する実用的に意味のある優位性を示しませんでした。第 2 シリーズの広い区間は利益と害の両方を許容するため、この結果を等価性の証明と呼ぶことはできません。

MMCSS 無効化時に何が変わったか

Section titled “MMCSS 無効化時に何が変わったか”
状態 登録 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

最後の 2 列の並びは、登録前、登録試行後、および cleanup 後の状態を意味します。Process priority class は変更されませんでした。

これは合成メトリクス悪化の一因を直接裏付けています: MMCSS が無効化された状態で、テストスレッドは同じ作業を続けましたが、優先度の引き上げを受け取りませんでした。CPU quota やその他のリソース会計ルールの個別の寄与は分離されていません。

100 と値が存在しない場合は、サービスの状態、登録の結果、およびスレッド優先度が一致しました。これは、すべての内部シナリオおよびユーザーシナリオにおける完全な等価性を証明するものではありません。

  • SystemResponsiveness は Windows 起動後の観察される MMCSS の状態を変更します。
  • 0 は有効状態 0 を生成せず、20 に正規化されます。
  • 10 と 20 はスレッドの登録を許容し、このテストではその優先度の同じ遷移をもたらします。
  • 選択された p99 メトリクスにおいて、10 の 20 に対する実用的に意味のある優位性は確認されていません。
  • 100 は MMCSS を無効化します; 検証済みビルドでは、同じ状態が value が存在しない場合にも観察されました。
  • MMCSS が無効化された状態で、テストスレッドは優先度の引き上げを受け取らず、合成 p99 レイテンシは両方のシリーズで悪化しました。
  • 10 と 20 がすべての MMCSS workload に対して等価であること。
  • 10 が FPS を向上させ、input latency を減少させ、または音声を改善すること。
  • 100 が必ず audio glitches、同期ずれ、または特定のゲームにおける問題を引き起こすこと。
  • value が存在しない場合の観察が別の Windows ビルドで再現すること。
  • 得られたミリ秒が物理的な end-to-end latency であること。
  • 仮想マシンの結果が物理 PC に適用されること。

調査は単一の VMware VM と単一の Windows ビルドで実施されました。合成プロファイル Games は CPU に対する制御された競合を生成しますが、ゲームエンジン、オーディオドライバ、実際の input pipeline、または display scanout を再現するものではありません。

第 2 シリーズでは、追加の ETW セッションは検証のみに使用されましたが、全体的なノイズ水準を変更した可能性があります。そのため、2 つのシリーズは 1 つの評価に統合されていません。メカニズム検証は優先度引き上げの喪失を示していますが、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: 初回公開; 2 つの分離された p99 シリーズ、スレッド優先度の検証、音声とゲームの境界、および確認された状態の復元を追加。