Выбор правильного отрисовщика видео
[Функция, связанная с этой страницей DirectShow, является устаревшей функцией. Он был заменен MediaPlayer, IMFMediaEngine, и аудио/ видео захвата в Media Foundation. Эти функции оптимизированы для Windows 10 и Windows 11. Корпорация Майкрософт настоятельно рекомендует, чтобы новый код использовал MediaPlayer, IMFMediaEngine и аудио- и видеозахват в Media Foundation вместо DirectShow, когда это возможно. Корпорация Майкрософт предлагает переписать существующий код, использующий устаревшие API, чтобы по возможности использовать новые API.]
DirectShow предоставляет несколько фильтров отрисовщика видео, как описано в следующей таблице.
Фильтр | Комментарии |
---|---|
Расширенный отрисовщик видео (EVR) | Использует Direct3D 9. Требуется Windows Vista или более поздней версии. |
Отрисовщик смешанного видео 9 (VMR-9) | Использует Direct3D 9. Требуется Windows XP или более поздней версии. |
Фильтр смешивания видео 7 (VMR-7) | Использует DirectDraw. Требуется Windows XP или более поздней версии. |
Смеситель наложения | Поддерживает аппаратные наложения с помощью DirectDraw. |
Устаревший фильтр отрисовщика видео . | Использует DirectDraw или (редко) GDI |
Используемый отрисовщик в значительной степени зависит от того, какие версии Windows необходимо поддерживать.
- В Windows Vista и более поздних версиях приложения должны использовать EVR, если оборудование поддерживает его. В противном случае вернитесь к VMR-9 или VMR-7. EVR обеспечивает лучшую производительность и лучшее качество видео, чем предыдущие отрисовщики. Кроме того, он предназначен для работы с диспетчером окон рабочего стола (DWM).
- До Windows Vista используйте VMR-9, если оборудование поддерживает его и функции видеопорта не требуются. В противном случае используйте VMR-7.
- В более старых системах может потребоваться использовать микшер наложения (для поддержки видеопорта или аппаратного наложения) или устаревший фильтр Отрисовщик видео.
Методы IGraphBuilder::Render и RenderFile по умолчанию используют VMR-7. Если оборудование не поддерживает VMR-7, эти методы возвращаются к устаревшей версии фильтра Отрисовщика видео. EVR и VMR-9 никогда не являются отрисовщиками по умолчанию.
Связанные темы