Udostępnij przez


Usługa Harmonogramu Klasy Multimedialnej

Usługa MmCSS (Multimedia Class Scheduler Service) umożliwia aplikacjom multimedialnym zapewnienie, że ich przetwarzanie w czasie otrzymuje priorytetowy dostęp do zasobów procesora CPU. Ta usługa umożliwia aplikacjom multimedialnym korzystanie z jak największej ilości procesora CPU bez odmowy zasobów procesora CPU do aplikacji o niższym priorytcie.

Program MMCSS używa informacji przechowywanych w rejestrze do identyfikowania obsługiwanych zadań i określania względnego priorytetu wątków wykonujących te zadania. Każdy wątek wykonujący pracę związaną z określonym zadaniem wywołuje funkcję AvSetMmMaxThreadCharacteristics lub AvSetMmThreadCharacteristics, aby poinformować mmCSS, że pracuje nad tym zadaniem.

Aby zapoznać się z przykładem programu korzystającego z usługi MMCSS, zobacz Exclusive-Mode Streams.

windows Server 2003 i Windows XP: MMCSS jest niedostępny.

Ustawienia rejestru

Ustawienia usługi MMCSS są przechowywane w następującym kluczu rejestru:

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

Ten klucz zawiera wartość REG_DWORD o nazwie SystemResponsiveness, która określa procent zasobów procesora CPU, które powinny być gwarantowane dla zadań o niskim priorytcie. Jeśli na przykład ta wartość to 20, 20% zasobów procesora CPU jest zarezerwowanych dla zadań o niskim priorytcie. Należy pamiętać, że wartości, które nie są równomiernie podzielne przez 10, są zaokrąglane w dół do najbliższej wielokrotności 10. Wartości poniżej 10 i powyżej 100 są ograniczone do 20. Wartość 100 wyłącza MMCSS (sterownik zwraca wartość STATUS_SERVER_DISABLED).

Klucz zawiera również podklucz o nazwie Tasks zawierający listę zadań. Domyślnie system Windows obsługuje następujące zadania:

  • audio
  • Przechwytywanie
  • Dystrybucji
  • Igrzyska
  • odtwarzania
  • audio Pro
  • menedżera okien

Producenci OEM mogą dodawać dodatkowe zadania zgodnie z wymaganiami.

Każdy klucz zadania zawiera następujący zestaw wartości reprezentujących cechy, które mają być stosowane do wątków skojarzonych z zadaniem.

Wartość Forma Możliwe wartości
koligacji REG_DWORD Maska bitów wskazująca koligację procesora. Zarówno 0x00, jak i 0xFFFFFFFF wskazują, że koligacja procesora nie jest używana.
tylko w tle REG_SZ Wskazuje, czy jest to zadanie w tle (bez interfejsu użytkownika). Wątki zadania w tle nie zmieniają się z powodu zmiany fokusu okna. Tę wartość można ustawić na wartość Prawda lub Fałsz.
BackgroundPriority REG_DWORD Priorytet tła. Zakres wartości to 1–8.
częstotliwość zegara REG_DWORD Wskazówka używana przez usługę MMCSS do określenia stopnia szczegółowości planowania zasobów procesora.Windows Server 2008 i Windows Vista: Maksymalna gwarantowana częstotliwość zegara system używa, jeśli wątek łączy to zadanie, w 100-nanosekundowych interwałach. Począwszy od systemów Windows 7 i Windows Server 2008 R2, ta gwarancja została usunięta w celu zmniejszenia zużycia energii systemu.
priorytet procesora GPU REG_DWORD Priorytet procesora GPU. Zakres wartości to 0–31. Ten priorytet nie jest jeszcze używany.
priorytetu REG_DWORD Priorytet zadania. Zakres wartości to od 1 (niski) do 8 (wysoki). W przypadku zadań z kategorii planowania Wysoki ta wartość jest zawsze traktowana jako 2.
kategorii planowania REG_SZ Kategoria planowania. Tę wartość można ustawić na Wartość Wysoka, Średnia lub Niska.
priorytetu SFIO REG_SZ Zaplanowany priorytet we/wy. Tę wartość można ustawić na wartość Bezczynność, Niska, Normalna lub Wysoka. Ta wartość nie jest używana.

 

Nuta

Aby oszczędzać energię, aplikacje nie powinny ustawiać rozdzielczości czasomierza całego systemu na małą wartość, chyba że jest to absolutnie konieczne. Aby uzyskać więcej informacji, zobacz Performance w przewodniku dla deweloperów systemu Windows 7.

 

Priorytety wątków

MMCSS zwiększa priorytet wątków, które pracują nad zadaniami multimedialnymi o wysokim priorytcie.

Program MMCSS określa priorytet wątku przy użyciu następujących czynników:

  • Podstawowy priorytet zadania.
  • Parametr Priority funkcjiAvSetMmThreadPriority.
  • Określa, czy aplikacja znajduje się na pierwszym planie.
  • Ile czasu procesora CPU zużywa wątki w każdej kategorii.

Program MMCSS ustawia priorytet wątków klienta w zależności od ich kategorii planowania.

Kategoria Priorytet Opis
Wysoki 23-26 Te wątki są uruchamiane z priorytetem wątku, który jest niższy niż tylko niektóre zadania na poziomie systemu. Ta kategoria jest przeznaczona dla zadań Pro Audio.
Średni 16-22 Te wątki są częścią aplikacji, która znajduje się na pierwszym planie.
Niski 8-15 Ta kategoria zawiera pozostałą część wątków. W razie potrzeby gwarantowane są minimalne wartości procentowe zasobów procesora CPU.
1-7 Te wątki używały limitu przydziału zasobów procesora CPU. Mogą nadal działać, jeśli żadne wątki o niskim priorytcie nie są gotowe do uruchomienia.