Compartilhar via


VMR vs. Renderizadores DirectShow anteriores

[O recurso associado a esta página, DirectShow, é um recurso herdado. Ele foi substituído por MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo na Media Foundation. Esses recursos foram otimizados para Windows 10 e Windows 11. A Microsoft recomenda fortemente que o novo código use MediaPlayer, IMFMediaEngine e Captura de Áudio/Vídeo no Media Foundation em vez de DirectShow, quando possível. A Microsoft sugere que o código existente que usa as APIs herdadas seja reescrito para usar as novas APIs, se possível.]

Com os filtros antigos, renderizadores diferentes seriam necessários no grafo dependendo da configuração de hardware.

O filtro Renderizador de Vídeo foi usado para renderizar um único fluxo de vídeo em cenários de porta não vídeo. Ele foi baseado na tecnologia de hardware gráfico que agora tem mais de cinco anos e em uma versão mais antiga do DirectDraw. Em determinados cenários, ele usa GDI para renderização. Isso é feito para conservar recursos de vídeo, que eram muito mais limitados há cinco anos, ou então para superar limitações no DirectDraw que estavam relacionadas ao suporte a vários monitores. Nem a VMR-7 nem a VMR-9 nunca usam GDI para renderização; O VMR-7 é baseado completamente no DirectDraw 7 e o VMR-9 é baseado no Direct3D 9.

Em cenários que envolvem uma porta de vídeo ou vários fluxos de entrada de vídeo, antes da VMR, o filtro do Mixer de Sobreposição era usado para renderização. Esse filtro usa apenas a sobreposição de hardware nos elementos gráficos cartão e, portanto, geralmente é limitado a uma superfície de sobreposição fornecida pela maioria dos cartões. O Mixer de Sobreposição executa o keying de cores de destino, mas não é capaz de mesclagem alfa. Como ele não tem um gerenciador de janelas, ele deve usar um segundo filtro, o Renderizador de Vídeo, para o gerenciamento de janelas. A VMR é capaz de mesclagem alfa verdadeira e pode criar várias sobreposições no software, além das sobreposições de hardware.

Em cenários de porta de vídeo em que os aplicativos estavam sobrepondo legendas fechadas ou outros dados de VBI no vídeo, um filtro adicional, o Alocador de Superfície de VBI, era necessário para alocar a memória de vídeo adicional para o texto VBI. Para ISVs, a VMR-7 simplifica o desenvolvimento de aplicativos combinando a funcionalidade de alocação e renderização em um único filtro usado em todos os cenários. Com a VMR, o Alocador do Surface da VBI não é mais necessário. Esse filtro é substituído no Windows XP pelo novo filtro do Gerenciador de Porta de Vídeo que executa todas as tarefas de porta de vídeo executadas anteriormente pelo Mixer de Sobreposição.

Observação

A VMR-9 não dá suporte a portas de vídeo.

 

A VMR é mais robusta do que os renderizadores anteriores, em parte porque usa apenas o DirectDraw 7 (ou Direct3D 9 se você estiver usando as interfaces VMR-9), em vez dos renderizadores antigos que usavam uma mistura de interfaces de versões mais antigas e mais recentes do DirectDraw. A VMR também emprega um novo mecanismo de apresentação de imagem projetado para gerações atuais e futuras de adaptadores, que têm suporte para Direct3D, maior largura de banda de memória de vídeo e VRAM e recursos de aceleração de hardware. Com a VMR, o foco está no processamento de front-end e na redução da dependência de portas e sobreposições de vídeo. Mas, mesmo com todas as suas novas funcionalidades, a VMR foi projetada para a máxima compatibilidade com aplicativos existentes.

A VMR também é extensível. Os aplicativos podem fornecer seus próprios subcomponentes para executar efeitos de vídeo personalizados e/ou assumir o controle do processo de alocação e renderização.

Sobre a Renderização de Combinação de Vídeo