サービスの品質 (QoS)
スレッドに関連付けられているサービス品質 (QoS) は、目的のパフォーマンスと電力効率を示すために使用されます。 各スレッドは QoS レベルに割り当てられます。 スケジュール優先度は、システムが次にスケジュールするスレッドを決定するメインメトリックのままですが、QoS はコア選択とプロセッサの電源管理に影響を与える可能性があります。 異種プロセッサを使用するプラットフォームでは、スレッドの QoS によって、プロセッサのサブセットへのスケジュール設定が制限されたり、特定のプロセッサ クラスの優先順位が示されたりすることがあります。
開発者は、ユーザーが存在しない場合、AC/充電時のみ、またはバッテリー レベルに応じて、実行するタイミングを制御するために、既に他の機能を使用している可能性があります。 QoS には、実行方法に影響を与える機能が用意されています。 この機能は、CPU 効率を向上させ、バッテリ寿命を延ばすのに役立ちます。 さらに、このプロセスは、AC 電源で動作しながら CPU の電力消費量を削減し、高いファン ノイズや温度調整につながる可能性がある熱出力を減らすのに役立ちます。
サービスの品質レベル
システムは複数の QoS レベルを維持し、それぞれがパフォーマンスと電力効率を区別します。 Windows には、各 QoS レベルのスケジュール設定とプロセッサ電源管理の標準の既定の設定が用意されています。 プロセッサの電源管理と異種スケジューリングの各 QoS レベルの正確なチューニングは、Windows プロビジョニングを通じて変更できます。 パフォーマンスのチューニングとプロビジョニングの詳細については、「 プロセッサの電源管理オプション」を参照してください。
QoS レベル | Description | パフォーマンスとパワー | リリース |
---|---|---|---|
高 | フォアグラウンドとフォーカス、または可聴で、SetProcessInformation でプロセスに明示的にタグを付け、SetThreadInformation を使用してスレッドにタグを付けたウィンドウ化されたアプリケーション | 標準のハイ パフォーマンス。 | 1709 |
Medium | エンド ユーザーに表示される可能性があるが、フォーカスがないウィンドウアプリケーション。 | プラットフォームによって、高と低の間で異なります。 | 1709 |
低 | エンド ユーザーに表示または聞こえないウィンドウアプリケーション。 | バッテリでは、最も効率的な CPU 周波数を選択し、効率的なコアをスケジュールします。 | 1709 |
ユーティリティ | バックグラウンド サービス | バッテリでは、最も効率的な CPU 周波数を選択し、効率的なコアをスケジュールします。 | Windows 11 22H2 |
エコ | SetProcessInformation を使用してプロセスに明示的にタグを付けたり、SetThreadInformation を使用してスレッドにタグを付けたりするアプリケーション。 | 常に最も効率的な CPU 周波数を選択し、効率的なコアをスケジュールします。 | Windows 11 |
メディア | マルチメディア バッチ バッファリングを示すために 、マルチメディア クラス スケジューラ サービス によって明示的にタグ付けされたスレッド。 | 効率的なバッチ処理のために CPU 周波数が低下しました。 | 2004 |
期限 | オーディオ スレッドが期限を満たすためにパフォーマンスが必要であることを示すために 、マルチメディア クラス スケジューラ サービス によって明示的にタグ付けされたスレッド。 | メディアの期限を満たすための高パフォーマンス。 | 2004 |
サービスの品質の分類
次の表は、サポートされている QoS 分類を示しています。
source | 説明 | ||||||||
---|---|---|---|---|---|---|---|---|---|
マルチメディア基盤 | マルチメディア クラス スケジューラ サービスは、マルチメディア シナリオの CPU リソースに優先順位を付けます。 このサービスでは、メディアおよび期限 QoS レベルを使用してマルチメディア処理を担当する特定のスレッドにタグを付け、パフォーマンスの期限を満たしながら電力効率を実現します。 | ||||||||
API |
SetProcessInformation を使用すると、開発者は ProcessPowerThrottling で機能を切り替えることでPROCESS_POWER_THROTTLING_EXECUTION_SPEED 、プロセスに HighQoS または EcoQoS として明示的にタグを付けられます。SetThreadInformation を使用すると、開発者は ThreadPowerThrottling の機能を切り替えることで、スレッドに HighQoS または EcoQoS として明示的にタグ付け THREAD_POWER_THROTTLING_EXECUTION_SPEED できます。 |
||||||||
可聴 | オーディオを再生していると判断されるプロセスは HighQoS です。 | ||||||||
Visible | ウィンドウを直接所有する (またはウィンドウ所有プロセスの子孫である) プロセスには、可視性とフォーカスの状態に従って QoS レベルが割り当てられます。
|
||||||||
ヒューリスティック | 上記のソースによって分類されていないスレッドには、システムによって QoS レベルが自動的に割り当てられます。 これらのヒューリスティックには、スレッドの優先順位が含まれます (ただし、これらに限定されません)。 |