Freigeben über


VMR im Vergleich zu früheren DirectShow-Renderern

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde durch MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation ersetzt. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code nach Möglichkeit MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet. Microsoft schlägt vor, vorhandenen Code, der die Legacy-APIs verwendet, um nach Möglichkeit die neuen APIs zu verwenden.]

Bei den alten Filtern wären je nach Hardwarekonfiguration unterschiedliche Renderer im Diagramm erforderlich.

Der Videorenderer-Filter wurde verwendet, um einen einzelnen Videostream in Nicht-Videoportszenarien zu rendern. Es basierte auf der Grafikhardwaretechnologie, die mittlerweile über fünf Jahre alt ist, und auf einer älteren Version von DirectDraw. In bestimmten Szenarien wird GDI zum Rendern verwendet. Dies geschieht entweder, um Videoressourcen zu sparen, die vor fünf Jahren viel begrenzter waren, oder um Einschränkungen in DirectDraw zu überwinden, die im Zusammenhang mit der Unterstützung mehrerer Monitore standen. Weder die VMR-7 noch die VMR-9 verwenden GDI jemals zum Rendern; die VMR-7 basiert vollständig auf DirectDraw 7 und die VMR-9 auf Direct3D 9.

In Szenarien mit einem Videoport oder mehreren Videoeingabedatenströmen wurde vor der VMR der Overlay-Mixer-Filter zum Rendern verwendet. Dieser Filter verwendet nur die Hardwareüberlagerung für die Grafik Karte und ist daher in der Regel auf die eine Überlagerungsoberfläche beschränkt, die von den meisten Karten bereitgestellt wird. Der Überlagerungsmischer führt die Zielfarbschlüsselung durch, kann aber nicht alphan blenden. Da es keinen Fenster-Manager hat, muss für die Fensterverwaltung ein zweiter Filter, der Videorenderer, verwendet werden. Die VMR ist in der Lage, eine echte Alphamischung zu erzeugen, und kann zusätzlich zu den Hardwareüberlagerungen mehrere Überlagerungen in der Software erstellen.

In Videoportszenarien, in denen Anwendungen Untertitel oder andere VBI-Daten im Video überlagern, war ein zusätzlicher Filter erforderlich, der VBI Surface Allocator, um den zusätzlichen Videospeicher für den VBI-Text zuzuweisen. Für ISVs vereinfacht VMR-7 die Anwendungsentwicklung, indem die Zuordnungs- und Renderingfunktionen in einem einzigen Filter kombiniert werden, der in allen Szenarien verwendet wird. Mit der VMR wird der VBI Surface Allocator nicht mehr benötigt. Dieser Filter wird in Windows XP durch den neuen Videoport-Manager-Filter ersetzt, der alle Videoportaufgaben ausführt, die zuvor vom Overlay-Mixer ausgeführt wurden.

Hinweis

Die VMR-9 unterstützt keine Videoports.

 

Die VMR ist robuster als die früheren Renderer, zum Teil, weil sie nur DirectDraw 7 (oder Direct3D 9, wenn Sie die VMR-9 verwenden) Schnittstellen verwendet, im Gegensatz zu den alten Renderern, die eine Mischung aus Schnittstellen aus älteren und neueren Versionen von DirectDraw verwendet haben. Die VMR verwendet auch einen neuen Bilddarstellungsmechanismus, der für aktuelle und zukünftige Generationen von Adaptern konzipiert ist, die Unterstützung für Direct3D, eine höhere VRAM- und Videospeicherbandbreite sowie Hardwarebeschleunigungsfunktionen bieten. Bei der VMR liegt der Fokus auf der Front-End-Verarbeitung und der verringerten Abhängigkeit von Videoports und Überlagerungen. Aber auch mit all seinen neuen Funktionen ist die VMR auf maximale Kompatibilität mit vorhandenen Anwendungen ausgelegt.

Die VMR ist auch erweiterbar. Anwendungen können ihre eigenen Unterkomponenten bereitstellen, um benutzerdefinierte Videoeffekte auszuführen und/oder die Kontrolle über den Zuordnungs- und Renderingprozess zu übernehmen.

Informationen zum Videomischrendern