视频呈现网络简介

视频演示网络 (VidPN) 管理器,它是 DirectX 图形内核子系统 (Dxgkrnl.sys) 的一部分,负责管理连接到显示适配器的监视器和其他显示设备的集合。 VidPN 经理的职责包括:

  • 响应热插入和拔出监视器。

  • 当连接的监视器集发生更改时,维护和更新一组可用的显示模式。

  • 管理显示适配器上呈现图面和视频输出之间的关联;例如,将桌面的视图和扩展克隆到多个监视器。

  • 当笔记本电脑上的盖子打开或关闭时,调整可用显示设备和显示模式集。

  • 调整笔记本电脑停靠或取消停靠时可用的显示设备和显示模式集。

负责扫描视频内存中呈现的内容并在视频输出上呈现的硬件称为 显示适配器的演示子系统。 视频 演示网络 (VidPN) 是显示适配器的演示子系统的软件模型。

显示适配器的表示子系统的关键元素是 (主图面链) 和视频输出的视图。 在 VidPN 模型中,视图称为 视频演示源,视频输出称为 视频演示目标

视频演示路径是视频演示源与视频演示目标之间的关联。 VidPN 通过维护一组视频演示路径来建模源与目标之间的关系。 路径集称为 VidPN 拓扑

请注意,视频演示目标不是监视器 (或其他外部显示设备) 连接到显示适配器。 视频演示目标是视频输出连接器本身。

下图演示了 VidPN。

diagram illustrating a video present network (vidpn).

上图中所示的 VidPN 有三个视频演示目标:DVI 连接器、HD15 连接器和 S 视频连接器。 VidPN 拓扑由将两个源连接到三个目标的行表示。 拓扑指定源 1 连接到 DVI 目标,源 2 连接到 HD15 和 S 视频目标。 源 2 上呈现的内容显示为连接到 HD15 和 S 视频连接器的显示设备上的克隆视图。

每个视频演示源都支持一组称为 源模式的一组图面格式。 为了跟踪各种视频演示源支持的源模式,VidPN 维护为每个视频演示源 设置的源模式 。 为特定视频演示源设置的源模式不是静态的;随着拓扑的变化,它会根据为其他视频演示源选择的模式进行更改。

该模型同样适用于视频演示目标。 每个视频演示目标都支持一组称为 目标模式的视频信号格式,VidPN 为每个视频演示 目标维护目标模式集 。 特定视频的目标模式设置的目标模式随着拓扑更改而发生更改,并为其他视频演示目标选择模式。

显示微型端口驱动程序的角色

例如,显示适配器具有一个或多个 视频输出编解码器 (,例如,从视频演示源读取的 CRTC) ,并将相应的视频信号放置在视频演示目标上。 在任何给定时间,视频输出编解码器最多可以从一个视频演示源中读取;但是,该编解码器可以向多个视频演示目标提供视频信号, (克隆视图) 。VidPN 经理担心视频演示源和视频演示目标之间的关联,但并不关心视频输出编解码器的作用。 有关从特定视频演示源读取哪些视频输出编解码器的决定完全由显示微型端口驱动程序控制。 例如,假设显示适配器有两个视频输出编解码器,VidPN 管理器要求显示微型端口驱动程序实现下图中显示的拓扑。

diagram illustrating a video present network (vidpn) topology.

下图显示了显示微型端口驱动程序可以将视频输出编解码器分配给视频演示源的一种方式。

diagram illustrating video codecs used to implement a video present network (vidpn) topology.

请注意,上图中的克隆视图 (HD15、S-video) 由单个 CRTC 处理。 现在假设不再需要连接到 CRTC 1 的 HD15 输出。 然后,显示微型端口驱动程序可以通过配置视频输出编解码器来实现克隆视图,如下图所示:

diagram illustrating an alternative use of video output codecs.

使用两个 CRTC 实现克隆视图比使用一个 CRTC 实现克隆视图具有一些优势。 例如,使用两个 CRTC,HD15 和 S 视频输出可以具有不同的分辨率和刷新速率。

要点是,VidPN 管理器从来不知道显示适配器上的视频输出编解码器如何分配给视频演示源和目标。 VidPN 管理器只知道源与目标之间的关联。 涉及视频输出编解码器的基础复合关联仅在显示微型端口驱动程序中知道。