Поделиться через


Режимы работы VMR

[Функция, связанная с этой страницей, DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngineи аудио и видеозахват в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует использовать новый код MediaPlayer, IMFMediaEngine и аудио-видеозахват в Media Foundation вместо DirectShowпо возможности. Корпорация Майкрософт предлагает, что существующий код, использующий устаревшие API, будет перезаписан для использования новых API, если это возможно.]

Архитектура компонента vmR позволяет приложениям настраивать его различными способами в зависимости от того, как выполняется отрисовка. В следующей таблице показаны три режима презентации и два режима смешивания, а также компоненты, которые присутствуют для каждой конфигурации.

Режим Один поток Несколько потоков (режим смешивания)
Оконный Единица синхронизации Allocator-presenterCore
Диспетчер окон
MixerCompositor*
Allocator-докладчика
Единица синхронизации ядра
Диспетчер окон
Безоконный Единица синхронизации Allocator-presenterCore
MixerCompositor*
Allocator-докладчика
Единица синхронизации ядра
Отрисовка без отрисов Модуль синхронизации Allocator-presenter (предоставленный приложением)Core Synchronization Unit
MixerCompositor*
Allocator-presenter (предоставляется приложением)
Единица синхронизации ядра

 

* Указывает, что у приложения есть возможность предоставить пользовательский компонент или использовать компонент по умолчанию.

Во всех конфигурациях основной момент, который следует помнить при создании графов фильтров с помощью VMR, заключается в том, что перед подключением к ней необходимо настроить VMR.

Для всех конфигураций пин-коды нельзя динамически добавлять или удалять после подключения vmR к вышестоящему фильтру, но они могут быть подключены и отключены. Если приложение не уверены, сколько контактов потребуется, необходимо настроить VMR для максимального числа, которое может потребоваться. Наличие неиспользуемых входных закреплений в фильтре не снижает производительность отрисовки. В отличие от старого средства переложения, vmR не имеет выходного пин-кода, так как для управления окнами не требуется отдельный фильтр.

В следующих разделах описывается настройка VMR для заданного режима: