共用方式為


多媒體類別排程器服務

多媒體類別排程器服務 (MMCSS) 可讓多媒體應用程式確保其時間敏感處理會收到優先存取 CPU 資源的優先順序。 此服務可讓多媒體應用程式盡可能利用 CPU,而不拒絕 CPU 資源到較低優先順序的應用程式。

MMCSS 會使用儲存在登錄中的資訊來識別支援的工作,並判斷執行這些工作的線程相對優先順序。 執行與特定工作相關的工作的每個線程都會呼叫 AvSetMmMaxThreadCharacteristicsAvSetMmThreadCharacteristics 函式,以通知 MMCSS 正在處理該工作。

如需使用 MMCSS 的程式範例,請參閱 Exclusive-Mode Streams

Windows Server 2003 和 Windows XP: MMCSS 無法使用。

登錄設定

MMCSS 設定會儲存在下列登錄機碼中:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile

此索引鍵包含名為 SystemResponsivenessREG_DWORD 值,可決定應保證為低優先順序工作的 CPU 資源百分比。 例如,如果此值為 20,則 CPU 資源的 20% 會保留給低優先順序的工作。 請注意,10 不平均除的值會四捨五入到最接近的 10 倍數。 值 0 也會被視為 10。

索引鍵也包含名為 Tasks 的子機碼, 包含工作清單。 根據預設,Windows 支援下列工作:

  • 音訊
  • 擷取
  • 散發
  • 遊戲
  • 播放
  • Pro 音訊
  • 視窗管理員

OEM 可以視需要新增其他工作。

每個工作索引鍵都包含下列一組值,這些值代表要套用至與工作相關聯之線程的特性。

價值 格式 可能的值
Affinity REG_DWORD 表示處理器親和性的位掩碼。 0x00和0xFFFFFFFF都表示未使用處理器親和性。
背景 REG_SZ 指出這是否為背景工作(沒有使用者介面)。 背景工作的線程不會因為視窗焦點的變更而變更。 此值可以設定為 True 或 False。
BackgroundPriority REG_DWORD 背景優先順序。 值的範圍是 1-8。
時鐘速率 REG_DWORD MMCSS 用來判斷處理器資源排程的數據粒度的提示。Windows Server 2008 和 Windows Vista: 如果線程以 100 奈秒間隔聯結這項工作,系統所使用的最大保證時鐘速率。 從 Windows 7 和 Windows Server 2008 R2 開始,已移除此保證以減少系統耗電量。
GPU 優先順序 REG_DWORD GPU 優先順序。 值的範圍是 0-31。 尚未使用此優先順序。
優先順序 REG_DWORD 工作優先順序。 值的範圍是 1 (低) 到 8 (高)。對於具有 排程類別 為 High 的工作,此值一律會被視為 2。
排程類別目錄 REG_SZ 排程類別。 此值可以設定為 [高]、[中] 或 [低]。
SFIO 優先順序 REG_SZ 排程的 I/O 優先順序。 此值可以設定為 [閑置]、[低]、[標準] 或 [高]。 未使用此值。

 

注意

為了節省電源,除非絕對必要,否則應用程式不應將全系統定時器的解析度設定為小型值。 如需詳細資訊,請參閱 Windows 7 開發人員指南中的 效能

 

線程優先順序

MMCSS 可提升處理高優先順序多媒體工作的線程優先順序。

MMCSS 會使用下列因素來判斷線程的優先順序:

  • 工作的基底優先順序。
  • AvSetMmThreadPriority 函式的 Priority 參數。
  • 應用程式是否在前景。
  • 每個類別中的線程會耗用多少CPU時間。

MMCSS 會根據其排程類別來設定用戶端線程的優先順序。

類別 優先權 描述
23-26 這些線程會以低於特定系統層級工作的線程優先順序執行。 此類別是專為 Pro Audio 工作所設計。
中等 16-22 這些線程是前景中應用程式的一部分。
8-15 此類別包含線程的其餘部分。 如有需要,保證 CPU 資源的最小百分比。
1-7 這些線程已使用其 CPU 資源的配額。 如果沒有低優先順序線程準備好執行,他們可以繼續執行。