Delen via


VMR versus Vorige DirectShow Renderers

[De functie die is gekoppeld aan deze pagina, DirectShow, is een verouderde functie. Het is vervangen door MediaPlayer, IMFMediaEngineen Audio/Video Capture in Media Foundation. Deze functies zijn geoptimaliseerd voor Windows 10 en Windows 11. Microsoft raadt ten zeerste aan om nieuwe code te gebruiken MediaPlayer, IMFMediaEngine en Audio/Video Capture in Media Foundation in plaats van DirectShow, indien mogelijk. Microsoft stelt voor dat bestaande code die gebruikmaakt van de verouderde API's, indien mogelijk opnieuw worden geschreven om de nieuwe API's te gebruiken.]

Met de oude filters zijn verschillende renderers vereist in de grafiek, afhankelijk van de hardwareconfiguratie.

Het Video Renderer-filter is gebruikt om één videostream weer te geven in scenario's met niet-videopoorten. Het was gebaseerd op grafische hardwaretechnologie die nu meer dan vijf jaar oud is en op een oudere versie van DirectDraw. In bepaalde scenario's wordt GDI gebruikt voor rendering. Dit wordt gedaan om videobronnen te besparen, die veel beperkter vijf jaar geleden waren, of om beperkingen in DirectDraw te overwinnen die betrekking hadden op ondersteuning voor meerdere beeldschermen. Noch de VMR-7 noch de VMR-9 gebruikt GDI voor rendering; de VMR-7 is volledig gebaseerd op DirectDraw 7 en de VMR-9 is gebaseerd op Direct3D 9.

In scenario's met betrekking tot een videopoort of meerdere video-invoerstromen werd voordat de VMR de Overlay Mixer filter werd gebruikt voor rendering. Dit filter maakt alleen gebruik van de hardware-overlay op de grafische kaart en is dus over het algemeen beperkt tot het ene overlayoppervlak dat door de meeste kaarten wordt geleverd. De Overlay Mixer voert doelkleursleuteling uit, maar het is niet geschikt voor alfamixing. Omdat het geen vensterbeheer heeft, moet het een tweede filter, de Video Renderer, gebruiken voor vensterbeheer. De VMR is geschikt voor echte alfamixing en kan naast de hardware-overlays meerdere overlays maken in software.

In videopoortscenario's waarbij toepassingen ondertiteling of andere VBI-gegevens op de video overlays plaatsten, was een extra filter, de VBI Surface Allocator, vereist om het extra videogeheugen voor de VBI-tekst toe te wijzen. Voor ISV's vereenvoudigt de VMR-7 de ontwikkeling van toepassingen door toewijzings- en renderingfunctionaliteit te combineren tot één filter dat in alle scenario's wordt gebruikt. Met de VMR is de VBI Surface Allocator niet meer nodig. Dit filter wordt vervangen in Windows XP door het nieuwe Video Port Manager filter waarmee alle videopoorttaken worden uitgevoerd die eerder zijn uitgevoerd door de Overlay Mixer.

Notitie

VmR-9 biedt geen ondersteuning voor videopoorten.

 

De VMR is robuuster dan de eerdere renderers, deels omdat er alleen DirectDraw 7 (of Direct3D 9 als u de VMR-9)-interfaces gebruikt, in tegenstelling tot de oude renderers die een combinatie van interfaces van oudere en nieuwere versies van DirectDraw hebben gebruikt. De VMR maakt ook gebruik van een nieuw afbeeldingspresentatiemechanisme dat is ontworpen voor huidige en toekomstige generaties adapters, die ondersteuning bieden voor Direct3D, verhoogde VRAM- en videogeheugenbandbreedte en hardwareversnellingsfuncties. Met de VMR ligt de focus op front-endverwerking en is de afhankelijkheid van videopoorten en overlays verminderd. Maar zelfs met alle nieuwe functionaliteit is de VMR ontworpen voor maximale compatibiliteit met bestaande toepassingen.

De VMR is ook uitbreidbaar. Toepassingen kunnen hun eigen subonderdelen bieden om aangepaste video-effecten uit te voeren en/of controle te nemen over het toewijzings- en renderingproces.

Over de videomixing