Compartilhar via


Introdução às redes de apresentação de vídeo

O gerenciador de VidPN (rede presente em vídeo), que é um componente do subsistema de kernel de elementos gráficos DirectX (Dxgkrnl.sys), é responsável por gerenciar a coleção de monitores e outros dispositivos de exibição conectados a um adaptador de vídeo. As responsabilidades do gerenciador VidPN incluem o seguinte:

  • Responder ao plugue quente e desconectar monitores.

  • Mantenha e atualize um conjunto de modos de exibição disponíveis conforme o conjunto de monitores conectados é alterado.

  • Gerenciar a associação entre superfícies de renderização e saídas de vídeo no adaptador de vídeo; por exemplo, clone exibições e extensão da área de trabalho para vários monitores.

  • Ajuste o conjunto de dispositivos de exibição e modos de exibição disponíveis quando a tampa em um computador laptop estiver aberta ou fechada.

  • Ajuste o conjunto de dispositivos de exibição e modos de exibição disponíveis quando um computador laptop estiver encaixado ou desencaixado.

O hardware em um adaptador de vídeo responsável por examinar o conteúdo renderizado da memória de vídeo e apresentá-lo em saídas de vídeo é chamado de subsistema de apresentação do adaptador de vídeo. Uma VidPN (rede de vídeo presente) é um modelo de software do subsistema de apresentação de um adaptador de vídeo.

Os principais elementos do subsistema de apresentação de um adaptador de vídeo são as exibições (cadeias de superfície primárias) e as saídas de vídeo. No modelo VidPN, um modo de exibição é chamado de fonte presente de vídeo e uma saída de vídeo é chamada de destino de vídeo presente.

Um caminho de vídeo presente é uma associação entre uma fonte presente de vídeo e um destino de vídeo presente. Um VidPN modela a relação entre fontes e destinos mantendo um conjunto de caminhos de vídeo presentes. O conjunto de caminhos é chamado de topologia VidPN.

Observe que os destinos presentes no vídeo não são os monitores (ou outros dispositivos de exibição externos) conectados ao adaptador de vídeo. Os destinos presentes no vídeo são os próprios conectores de saída de vídeo.

O diagrama a seguir ilustra um VidPN.

Diagrama ilustrando uma VidPN (Video Present Network) com fontes, destinos e conectores.

O VidPN ilustrado no diagrama anterior tem três destinos de vídeo presentes: um conector DVI, um conector HD15 e um conector S-video. A topologia VidPN é representada pelas linhas que conectam as duas fontes aos três destinos. A topologia especifica que a Origem 1 está conectada ao destino DVI e a Origem 2 está conectada aos destinos HD15 e S-video. O conteúdo renderizado na Origem 2 é apresentado como uma exibição de clone nos dispositivos de exibição conectados aos conectores HD15 e S-video.

Cada fonte de vídeo presente dá suporte a um determinado conjunto de formatos de superfície chamados modos de origem. Para acompanhar os modos de origem compatíveis com as várias fontes de vídeo presentes, um VidPN mantém um modo de origem definido para cada fonte presente do vídeo. O modo de origem definido para uma fonte presente de vídeo específica não é estático; ele muda conforme a topologia muda e muda de acordo com os modos escolhidos para outras fontes presentes no vídeo.

O modelo funciona da mesma forma para destinos presentes em vídeo. Cada destino de vídeo presente dá suporte a um determinado conjunto de formatos de sinal de vídeo chamado modos de destino, e um VidPN mantém um modo de destino definido para cada destino de vídeo presente. O modo de destino definido para um vídeo específico apresenta alterações de destino à medida que a topologia muda e, à medida que os modos são escolhidos para outros destinos de vídeo presentes.

A função do driver de miniporta de exibição

Um adaptador de vídeo tem um ou mais codecs de saída de vídeo (por exemplo, um CRTC) que leem de fontes de vídeo presentes e colocam os sinais de vídeo correspondentes em destinos presentes no vídeo. A qualquer momento, um codec de saída de vídeo pode ler de no máximo uma fonte de vídeo presente; no entanto, esse codec pode fornecer um sinal de vídeo para mais de um destino de vídeo presente (exibição de clone). O gerenciador de VidPN se preocupa com as associações entre fontes presentes em vídeo e destinos de vídeo presentes, mas não se preocupa com a função dos codecs de saída de vídeo. As decisões sobre quais codec de saída de vídeo lê de uma fonte presente de vídeo específica estão inteiramente sob o controle do driver de miniporta de exibição. Por exemplo, suponha que um adaptador de exibição tenha dois codecs de saída de vídeo e o gerenciador de VidPN peça ao driver de miniporta de exibição para implementar a topologia mostrada no diagrama a seguir.

Diagrama mostrando uma topologia VidPN com duas fontes conectadas a três destinos.

O diagrama a seguir mostra uma maneira pela qual o driver de miniporta de exibição pode atribuir codecs de saída de vídeo a fontes presentes em vídeo.

Diagrama mostrando o driver atribuindo CRTC1 ao HD15 para Fonte 1 e CRTC2 a HD15 e S-Video para a Origem 2.

Observe que a exibição de clone (HD15, S-video) no diagrama anterior é tratada por um único CRTC. Agora suponha que a saída HD15 conectada ao CRTC1 não seja mais necessária. Em seguida, o driver de miniporta de exibição poderia implementar a exibição de clone configurando os codecs de saída de vídeo, conforme mostrado no diagrama a seguir:

Diagrama mostrando um uso alternativo de codecs de saída de vídeo com dois CRTCs para exibição de clone.

Implementar a exibição de clone com dois CRTCs tem algumas vantagens em relação à implementação dela com um CRTC. Por exemplo, com dois CRTCs, as saídas HD15 e S-video podem ter resoluções e taxas de atualização diferentes.

O ponto importante é que o gerenciador de VidPN nunca sabe nada sobre como os codecs de saída de vídeo em um adaptador de vídeo são atribuídos às fontes e aos destinos presentes no vídeo. O gerenciador de VidPN conhece apenas as associações entre fontes e destinos. As associações compostas subjacentes que envolvem os codecs de saída de vídeo são conhecidas apenas pelo driver de miniporta de exibição.