Freigeben über


Auswählen des richtigen Videorenderers

[Das dieser Seite zugeordnete Feature DirectShow ist ein Legacyfeature. Es wurde von MediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation abgelöst. Diese Features wurden für Windows 10 und Windows 11 optimiert. Microsoft empfiehlt dringend, dass neuer Code mediaPlayer, IMFMediaEngine und Audio/Video Capture in Media Foundation anstelle von DirectShow verwendet, wenn möglich. Microsoft schlägt vor, dass vorhandener Code, der die Legacy-APIs verwendet, so umgeschrieben wird, dass nach Möglichkeit die neuen APIs verwendet werden.]

DirectShow bietet mehrere Videorendererfilter, die in der folgenden Tabelle zusammengefasst sind.

Filtern Bemerkungen
Erweiterter Videorenderer (EVR) Verwendet Direct3D 9. Erfordert Windows Vista oder höher.
Video Mixing Renderer 9 (VMR-9) Verwendet Direct3D 9. Erfordert Windows XP oder höher.
Videomischungsfilter 7 (VMR-7) Verwendet DirectDraw. Erfordert Windows XP oder höher.
Überlagerungsmixer Unterstützt Hardwareüberlagerungen über DirectDraw.
Legacy-Videorendererfilter. Verwendet DirectDraw oder (selten) GDI.

 

Welcher Renderer verwendet werden soll, hängt weitgehend davon ab, welche Windows-Versionen Sie unterstützen müssen.

  • In Windows Vista und höher sollten Anwendungen das EVR verwenden, wenn die Hardware dies unterstützt. Andernfalls sollten Sie auf VMR-9 oder VMR-7 zurückgreifen. Der EVR bietet eine bessere Leistung und eine bessere Videoqualität als vorherige Renderer. Außerdem ist es für die Verwendung mit dem Desktopfenster-Manager (DWM) konzipiert.
  • Verwenden Sie vor Windows Vista die VMR-9, wenn die Hardware dies unterstützt und die Videoportfunktion nicht erforderlich ist. Verwenden Sie andernfalls VMR-7.
  • Auf älteren Systemen müssen Sie möglicherweise den Überlagerungsmixer (für Videoport- oder Hardwareüberlagerungsunterstützung) oder den älteren Video Renderer-Filter verwenden.

Die Methoden IGraphBuilder::Render und RenderFile verwenden standardmäßig VMR-7. Wenn die Hardware VMR-7 nicht unterstützt, greifen diese Methoden auf den älteren Video Renderer-Filter zurück. EVR und VMR-9 sind nie die Standardrenderer.

Videorendering