Modo de Reprodução Sem Renderização da VMR (Alocador Personalizado-Apresentadores)
[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.]
No modo de reprodução sem renderização, a VMR não executa a renderização. Em vez disso, ele usa um alocador-apresentador personalizado fornecido pelo aplicativo. Esse modo é útil para jogos e outros tipos de aplicativos que têm efeitos de vídeo sofisticados. O modo de reprodução sem renderização permite que os aplicativos criem e controlem sua própria superfície DirectDraw (VMR-7) ou superfície Direct3D (VMR-9) e acessem os bits de vídeo no momento da apresentação.
No modo sem renderização, a VMR-9 não carrega automaticamente seu componente do mixer.
No modo de reprodução sem renderização, o aplicativo executa as seguintes tarefas:
- Gerencia a janela de reprodução.
- Aloca o objeto DirectDraw ou Direct3D e o buffer de quadro final.
- Notifica o restante do sistema de reprodução do objeto que está sendo usado.
- Apresenta o buffer de quadro no momento correto.
- Lida com todas as alterações no modo de resolução, monitora alterações e perdas de superfície. Ele deve aconselhar o restante do sistema de reprodução desses eventos.
A VMR faz o seguinte:
- Manipula todo o tempo relacionado à apresentação do quadro de vídeo.
- Fornece informações de controle de qualidade para o aplicativo e o restante do sistema de reprodução.
- Apresenta uma interface consistente para os componentes upstream do sistema de reprodução, que não estão cientes de que o aplicativo está fornecendo a alocação do buffer de quadro e executando a renderização.
- Fornece qualquer combinação de fluxos de vídeo que podem ser necessários antes da renderização.
Como a desinterlacização é executada pelo mixer, o alocador-apresentador sempre recebeu quadros desinterlaceados. Para obter mais informações, consulte Configurando preferências de desinterlace.
Para obter mais informações sobre como fornecer um alocador-apresentador personalizado, consulte os seguintes tópicos:
- Fornecendo uma Allocator-Presenter personalizada para VMR-7
- Fornecendo uma Allocator-Presenter personalizada para VMR-9
- Sincronizando a VMR com a taxa de atualização do Monitor