VMR 및 이전 DirectShow 렌더러 비교
[이 페이지와 연결된 기능인 DirectShow는 레거시 기능입니다. MediaPlayer, IMFMediaEngine 및 Media Foundation의 오디오/비디오 캡처로 대체되었습니다. 이러한 기능은 Windows 10 및 Windows 11 최적화되었습니다. 가능한 경우 새 코드가 DirectShow 대신 Media Foundation에서 MediaPlayer, IMFMediaEngine 및 오디오/비디오 캡처를 사용하는 것이 좋습니다. 가능한 경우 레거시 API를 사용하는 기존 코드를 다시 작성하여 새 API를 사용하도록 제안합니다.]
이전 필터를 사용하면 하드웨어 구성에 따라 그래프에 다른 렌더러가 필요합니다.
Video Renderer 필터는 비비디오 포트 시나리오에서 단일 비디오 스트림을 렌더링하는 데 사용되었습니다. 현재 5년이 넘은 그래픽 하드웨어 기술과 이전 버전의 DirectDraw를 기반으로 합니다. 특정 시나리오에서는 렌더링에 GDI를 사용합니다. 이는 5년 전에 훨씬 더 제한되었던 비디오 리소스를 절약하거나 다중 모니터 지원과 관련된 DirectDraw의 제한을 극복하기 위해 수행됩니다. VMR-7과 VMR-9 모두 렌더링에 GDI를 사용하지 않습니다. VMR-7은 DirectDraw 7을 완전히 기반으로 하며 VMR-9는 Direct3D 9를 기반으로 합니다.
비디오 포트 또는 여러 비디오 입력 스트림과 관련된 시나리오에서 VMR 이전에 오버레이 믹서 필터가 렌더링에 사용되었습니다. 이 필터는 그래픽 카드 하드웨어 오버레이만 사용하므로 일반적으로 대부분의 카드에서 제공하는 하나의 오버레이 표면으로 제한됩니다. 오버레이 믹서는 대상 색 키 지정을 수행하지만 알파 혼합이 불가능합니다. 창 관리자가 없으므로 창 관리를 위해 두 번째 필터인 Video Renderer를 사용해야 합니다. VMR은 진정한 알파 혼합이 가능하며 하드웨어 오버레이 외에도 소프트웨어에 여러 오버레이를 만들 수 있습니다.
애플리케이션이 비디오의 선택 자막 또는 기타 VBI 데이터를 오버레이하는 비디오 포트 시나리오에서는 VBI 텍스트에 대한 추가 비디오 메모리를 할당하기 위해 추가 필터인 VBI Surface 할당자가 필요했습니다. ISV의 경우 VMR-7은 할당 및 렌더링 기능을 모든 시나리오에서 사용되는 단일 필터로 결합하여 애플리케이션 개발을 간소화합니다. VMR을 사용하면 VBI Surface 할당자가 더 이상 필요하지 않습니다. 이 필터는 Windows XP에서 이전에 오버레이 믹서에서 수행한 모든 비디오 포트 작업을 수행하는 새 Video Port Manager 필터로 대체됩니다.
참고
VMR-9는 비디오 포트를 지원하지 않습니다.
VMR은 이전 및 최신 버전의 DirectDraw의 인터페이스를 혼합하여 사용한 이전 렌더러와 달리 DirectDraw 7(또는 VMR-9를 사용하는 경우 Direct3D 9) 인터페이스만 사용하기 때문에 이전 렌더러보다 더 강력합니다. 또한 VMR은 Direct3D, 향상된 VRAM 및 비디오 메모리 대역폭 및 하드웨어 가속 기능을 지원하는 현재 및 미래 세대의 어댑터를 위해 설계된 새로운 이미지 프레젠테이션 메커니즘을 사용합니다. VMR을 사용하면 프런트 엔드 처리에 중점을 두고 비디오 포트 및 오버레이에 대한 의존도를 줄입니다. 그러나 모든 새로운 기능을 사용하더라도 VMR은 기존 애플리케이션과의 최대 호환성을 위해 설계되었습니다.
VMR도 확장할 수 있습니다. 애플리케이션은 사용자 지정 비디오 효과를 수행하거나 할당 및 렌더링 프로세스를 제어하기 위해 자체 하위 구성 요소를 제공할 수 있습니다.
관련 항목