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

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

 

Примечание

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

 

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

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

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

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

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

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