Condividi tramite


Renderer VMR e Previous DirectShow

[La funzionalità associata a questa pagina, DirectShow, è una funzionalità legacy. È stata sostituita da MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation. Queste funzionalità sono state ottimizzate per Windows 10 e Windows 11. Microsoft consiglia vivamente che il nuovo codice usi MediaPlayer, IMFMediaEngine e Audio/Video Capture in Media Foundation invece di DirectShow, quando possibile. Microsoft suggerisce che il codice esistente che usa le API legacy venga riscritto per usare le nuove API, se possibile.

Con i filtri precedenti, nel grafico sarebbero necessari renderer diversi a seconda della configurazione hardware.

Il filtro Renderer video è stato usato per eseguire il rendering di un singolo flusso video in scenari di porta non video. Si basava sulla tecnologia hardware grafica che è ora oltre cinque anni e su una versione precedente di DirectDraw. In alcuni scenari, usa GDI per il rendering. Questa operazione viene eseguita per risparmiare risorse video, che sono state molto più limitate cinque anni fa, o per superare le limitazioni in DirectDraw correlate al supporto di più monitor. Né VMR-7 né VMR-9 usano GDI per il rendering; VMR-7 è basato completamente su DirectDraw 7 e VMR-9 si basa su Direct3D 9.

Negli scenari che coinvolgono una porta video o più flussi di input video, prima di VMR è stato usato il filtro Mixer di sovrapposizione per il rendering. Questo filtro usa solo la sovrimpressione hardware nella scheda grafica e quindi è in genere limitata a quella superficie di sovrapposizione fornita dalla maggior parte delle schede. Il mixer di sovrapposizione esegue il keying dei colori di destinazione, ma non è in grado di fondere alfa. Poiché non dispone di un gestore finestre, deve usare un secondo filtro, il Renderer video, per la gestione delle finestre. VmR è in grado di creare una vera fusione alfa e può creare più sovrimpressioni nel software oltre alle sovrapposizioni hardware.

Negli scenari di porta video in cui le applicazioni sovrapponevano la didascalia chiusa o altri dati VBI nel video, era necessario un filtro aggiuntivo, l'allocatore Surface VBI, per allocare la memoria video aggiuntiva per il testo VBI. Per gli ISV, VMR-7 semplifica lo sviluppo di applicazioni combinando funzionalità di allocazione e rendering in un unico filtro usato in tutti gli scenari. Con VMR, l'allocatore Surface VBI non è più necessario. Questo filtro viene sostituito in Windows XP dal nuovo filtro Gestione porte video che esegue tutte le attività di porta video eseguite in precedenza dal mixer di sovrapposizione.

Nota

VMR-9 non supporta le porte video.

 

VmR è più affidabile rispetto ai renderer precedenti, in parte perché usa solo DirectDraw 7 (o Direct3D 9 se si usano le interfacce VMR-9), anziché i renderer precedenti che usavano una combinazione di interfacce di versioni precedenti e più recenti di DirectDraw. VmR usa anche un nuovo meccanismo di presentazione delle immagini progettato per le generazioni attuali e future di adattatori, che supportano Direct3D, la larghezza di banda della memoria video e la larghezza di banda della memoria video e le funzionalità di accelerazione hardware. Con VMR, lo stato attivo è l'elaborazione front-end e la riduzione della dipendenza dalle porte video e dalle sovrimpressioni. Ma anche con tutte le nuove funzionalità, vmr è progettato per garantire la massima compatibilità con le applicazioni esistenti.

La macchina virtuale virtuale è anche estendibile. Le applicazioni possono fornire componenti secondari personalizzati per eseguire effetti video personalizzati e/o assumere il controllo del processo di allocazione e rendering.

Informazioni sul rendering di mixaggio video