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

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

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

Пример программы, использующей MMCSS, см. в разделеExclusive-Mode Streams.

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

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

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

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

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

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

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

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

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

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

 

Замечание

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

 

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

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

MMCSS определяет приоритет потока с помощью следующих факторов:

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

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

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