服務品質
與執行緒相關聯的服務品質 (QoS) 可用來指出所需的效能和電源效率。 每個執行緒都會指派給 QoS 層級。 雖然排程優先順序仍是系統決定下一個排程執行緒的主要計量,但 QoS 可能會影響核心選取和處理器電源管理。 在具有異質處理器的平臺上,執行緒的 QoS 可能會限制排程至處理器子集,或指出特定處理器類別的喜好設定。
開發人員可能已經採用其他功能來控制何時執行,例如使用者不存在時、僅在 AC/充電上,或視電池計量而定。 QoS 提供可影響執行方式的設施。 這項設施有助於改善 CPU 效率,進而延長電池使用時間。 此外,此程式可協助降低 CPU 耗電量,同時在 AC 電源上運作,以減少熱輸出,這可能會導致高風扇雜訊,或甚至是熱節流。
服務品質等級
系統會維護多個 QoS 層級,每個層級都有不同的效能和電源效率。 Windows 提供每個 QoS 層級排程和處理器電源管理的標準預設設定。 您可以透過 Windows 布建來修改處理器電源管理和異質性排程的每個 QoS 層級精確調整。 如需效能微調和布建的詳細資訊,請參閱 處理器電源管理選項。
QoS 層級 | 描述 | 效能和電源 | 版本 |
---|---|---|---|
高 | 前景和焦點中的視窗化應用程式,或可聽見,並使用SetProcessInformation或具有SetThreadInformation 的執行緒明確標記進程 | 標準高效能。 | 1709 |
中 | 使用者可以看見但不是焦點的視窗化應用程式。 | 依平臺而異,介於高與低之間。 | 1709 |
低 | 使用者看不到或聽見的視窗化應用程式。 | 在電池上,選取最有效率的 CPU 頻率和排程以有效率的核心。 | 1709 |
公用程式 | 背景服務 | 在電池上,選取最有效率的 CPU 頻率,並排程至有效率的核心。 | Windows 11 22H2 |
生態 | 使用 SetProcessInformation 明確標記進程或具有 SetThreadInformation的執行緒的應用程式。 | 一律會選取最有效率的 CPU 頻率,並排程至有效率的核心。 | Windows 11 |
媒體 | 多媒體類別排程器服務明確標記的執行緒,表示多媒體批次緩衝處理。 | CPU 頻率降低,以便進行有效率的批次處理。 | 2004 |
期限 | 多媒體類別排程器服務明確標記的執行緒,表示音訊執行緒需要效能才能符合期限。 | 符合媒體期限的高效能。 | 2004 |
服務品質分類
下表顯示支援的 QoS 分類。
來源 | 描述 | ||||||||
---|---|---|---|---|---|---|---|---|---|
多媒體基礎 | 多媒體類別排程器服務會優先處理多媒體案例的 CPU 資源。 服務會標記負責使用媒體和期限 QoS 層級進行多媒體處理的特定執行緒,以在符合效能期限時提供電源效率。 | ||||||||
API |
SetProcessInformation 可讓開發人員切換 PROCESS_POWER_THROTTLING_EXECUTION_SPEED ProcessPowerThrottling中的功能,明確地將進程標記為 HighQoS 或 EcoQoS。 SetThreadInformation 可讓開發人員透過切換 THREAD_POWER_THROTTLING_EXECUTION_SPEED ThreadPowerThrottling 中的功能,明確地將執行緒標記為 HighQoS 或 EcoQoS。 |
||||||||
發聲 | 決定要播放音訊的程式為 HighQoS。 | ||||||||
可見 | 直接擁有視窗的程式 (或是視窗擁有程式的子系,) 會根據其可見度和焦點狀態指派 QoS 層級:
|
||||||||
啟發式 | 上述來源未分類的執行緒會自動由系統指派 QoS 層級。 這些啟發學習法包括 (,但不限於) 執行緒優先順序,其中以降低執行緒優先順序執行的執行緒可能代表較低的 QoS 層級。 |