Служба планировщика классов мультимедиа

Служба планировщика класса мультимедиа (MMCSS) позволяет мультимедийным приложениям гарантировать, что их обработка с учетом времени получает приоритетный доступ к ресурсам ЦП. Эта служба позволяет мультимедийным приложениям использовать как можно большую часть ЦП без запрета ресурсов ЦП приложениям с более низким приоритетом.

MMCSS использует сведения, хранящиеся в реестре, для определения поддерживаемых задач и определения относительного приоритета потоков, выполняющих эти задачи. Каждый поток, выполняющий работу, связанную с определенной задачей, вызывает функцию AvSetMmMaxThreadCharacteristics или AvSetMmThreadCharacteristics , чтобы сообщить MMCSS, что она работает над этой задачей.

Пример программы, использующей MMCSS, см. в разделе "Монопольный режим" Потоки.

Windows Server 2003 и Windows XP: MMCSS недоступна.

Параметры реестра

Параметры MMCSS хранятся в следующем разделе реестра:

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

Этот ключ содержит значение REG_DWORDс именем SystemResponsiveness , которое определяет процент ресурсов ЦП, которые должны гарантироваться задачам с низким приоритетом. Например, если это значение равно 20, то для задач с низким приоритетом зарезервировано 20 % ресурсов ЦП. Обратите внимание, что значения, которые равномерно не делится на 10, округляются до ближайшего кратного 10. Значение 0 также рассматривается как 10.

Ключ также содержит подраздел с именем Tasks , который содержит список задач. По умолчанию Windows поддерживает следующие задачи:

  • Звук:
  • возможность использования функции записи.
  • Distribution
  • Игры
  • Воспроизведение
  • звук Pro
  • Диспетчер окон

Изготовители оборудования могут добавлять дополнительные задачи по мере необходимости.

Каждый ключ задачи содержит следующий набор значений, представляющих характеристики, применяемые к потокам, связанным с задачей.

Значение Формат Возможные значения
Сходство 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 (высокий). Для задач с категорией планирования "Высокая" это значение всегда обрабатывается как 2.
Категория планирования REG_SZ Категория планирования. Это значение можно задать как "Высокий", "Средний" или "Низкий".
Приоритет SFIO REG_SZ Приоритет запланированного ввода-вывода. Это значение можно задать как "Простой", "Низкий", "Обычный" или "Высокий". Это значение не используется.

 

Примечание

Для экономии мощности приложения не должны устанавливать разрешение таймера на уровне системы небольшим значением, если это не обязательно. Дополнительные сведения см. в руководстве разработчиков Windows 7.

 

Приоритеты потоков

MMCSS повышает приоритет потоков, работающих над высокоприоритетными мультимедийными задачами.

MMCSS определяет приоритет потока, используя следующие факторы:

  • Базовый приоритет задачи.
  • Параметр Priority функции AvSetMmThreadPriority .
  • Указывает, находится ли приложение на переднем плане.
  • Сколько времени ЦП потребляется потоками в каждой категории.

MMCSS задает приоритет клиентских потоков в зависимости от категории планирования.

Категория Приоритет Описание
Высокий 23-26 Эти потоки выполняются с приоритетом потока, который ниже, чем только некоторые задачи системного уровня. Эта категория предназначена для Pro задач аудио.
Средний 16-22 Эти потоки являются частью приложения, которое находится на переднем плане.
Низкий 8-15 Эта категория содержит оставшуюся часть потоков. При необходимости они гарантируют минимальный процент ресурсов ЦП.
1-7 Эти потоки использовали квоту ресурсов ЦП. Они могут продолжать работать, если потоки с низким приоритетом не готовы к запуску.