RENDERLOSER VMR-Wiedergabemodus (Benutzerdefinierte Zuteilungs-Referenten)
[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.]
Im renderlosen Wiedergabemodus führt die VMR das Rendering nicht aus. Stattdessen wird ein benutzerdefinierter Zuweisungs-Presenter verwendet, der von der Anwendung bereitgestellt wird. Dieser Modus ist nützlich für Spiele und andere Arten von Anwendungen mit anspruchsvollen Videoeffekten. Der renderlose Wiedergabemodus ermöglicht es den Anwendungen, eine eigene DirectDraw-Oberfläche (VMR-7) oder Eine Direct3D-Oberfläche (VMR-9) zu erstellen und zu steuern und zur Präsentationszeit auf die Videobits zuzugreifen.
Im renderlosen Modus lädt die VMR-9 ihre Mixerkomponente nicht automatisch.
Im renderlosen Wiedergabemodus führt die Anwendung die folgenden Aufgaben aus:
- Verwaltet das Wiedergabefenster.
- Ordnet das DirectDraw- oder Direct3D-Objekt und den letzten Framepuffer zu.
- Benachrichtigt den Rest des Wiedergabesystems über das verwendete Objekt.
- Zeigt den Framepuffer zur richtigen Zeit an.
- Verarbeitet alle Änderungen im Auflösungsmodus, Überwachen von Änderungen und Oberflächenverlusten. Es muss den Rest des Wiedergabesystems über diese Ereignisse informieren.
Der VMR führt folgendes aus:
- Verarbeitet die gesamte Zeitsteuerung im Zusammenhang mit der Darstellung des Videoframes.
- Stellt Informationen zur Qualitätskontrolle für die Anwendung und den Rest des Wiedergabesystems bereit.
- Stellt eine konsistente Schnittstelle für die Upstream Komponenten des Wiedergabesystems dar, die nicht wissen, dass die Anwendung die Framepufferzuordnung bereitstellt und das Rendering ausführt.
- Stellt jegliches Mischen von Videostreams bereit, die vor dem Rendern möglicherweise erforderlich sind.
Da das Deinterlacing vom Mixer ausgeführt wird, hat der Zuteilungs-Referenten immer deinterlaced Frames erhalten. Weitere Informationen finden Sie unter Festlegen von Deinterlace-Einstellungen.
Weitere Informationen zum Bereitstellen eines benutzerdefinierten Zuweisungs-Referenten finden Sie in den folgenden Themen:
- Bereitstellen eines benutzerdefinierten Allocator-Presenter für VMR-7
- Bereitstellen eines benutzerdefinierten Allocator-Presenter für VMR-9
- Synchronisieren der VMR mit der Aktualisierungsrate des Monitors