視頻呈現網絡 (VidPN) 管理器是 DirectX 圖形內核子系統 (Dxgkrnl.sys) 的組件,負責管理連接到顯示適配器的監視器和其他顯示設備的集合。 VidPN 經理的職責包括:
響應熱插拔和拔下監視器。
當連接的監視器集更改時,維護和更新一組可用的顯示模式。
管理顯示適配器上呈現圖面與視頻輸出之間的關聯;例如,將桌面的視圖和擴展克隆到多個監視器。
當筆記本電腦的蓋子打開或關閉時,調整可用顯示設備和顯示模式集。
在筆記本電腦停靠或取消停靠時,調整可用顯示設備和顯示模式集。
顯示適配器上負責掃描視頻內存中呈現的內容并在視頻輸出上呈現的硬件稱為 顯示適配器的呈現子系統。 視頻呈現網絡 (VidPN) 是顯示適配器的演示子系統的軟件模型。
顯示適配器的呈現子系統的關鍵元素是主表面鏈) (視圖和視頻輸出。 在 VidPN 模型中,視圖稱為 視頻呈現源,視頻輸出稱為 視頻呈現目標。
視頻演示路徑是視頻演示源與視頻呈現目標之間的關聯。 VidPN 通過維護一組視頻呈現路徑來為源和目標之間的關系建模。 路徑集稱為 VidPN 拓撲。
請注意,視頻存在目標不是監視器 (或其他外部顯示設備) 連接到顯示適配器。 視頻呈現的目標是視頻輸出連接器本身。
下圖演示了一個 VidPN。
上圖中所示的 VidPN 有三個視頻存在目標:DVI 連接器、HD15 連接器和 S 視頻連接器。 VidPN 拓撲由將兩個源連接到三個目標的行表示。 拓撲指定源 1 連接到 DVI 目標,源 2 連接到 HD15 和 S 視頻目標。 源 2 上呈現的內容在連接到 HD15 和 S 視頻連接器的顯示設備上顯示為克隆視圖。
每個視頻呈現源都支持一組稱為 源模式的圖面格式。 為了跟蹤各種視頻呈現源支持的源模式,VidPN 會為每個視頻呈現 源保留一個源模式集 。 為特定視頻當前源設置的源模式不是靜態的;它會隨著拓撲的變化而更改,并且根據為其他視頻呈現源選擇的模式而更改。
該模型適用于視頻呈現目標。 每個視頻呈現目標都支持一組稱為 目標模式的特定視頻信號格式,并且 VidPN 為每個視頻呈現目標維護一個 目標模式集 。 為特定視頻呈現目標設置的目標模式會隨著拓撲的更改而更改,并為其他視頻呈現目標選擇模式。
顯示微型端口驅動程序的角色
例如,顯示適配器具有一個或多個 視頻輸出編解碼器 (CRTC) ,該編解碼器從視頻呈現源進行讀取,并將相應的視頻信號放置在視頻呈現目標上。 在任何給定時間,視頻輸出編解碼器最多可以從一個視頻當前源中讀取;但是,該編解碼器可以向多個視頻存在目標提供視頻信號, (克隆視圖) 。VidPN 管理器關注視頻當前源和視頻呈現目標之間的關聯,但不關心視頻輸出編解碼器的角色。 有關從特定視頻當前源讀取哪些視頻輸出編解碼器的決策完全由顯示微型端口驅動程序控制。 例如,假設顯示適配器有兩個視頻輸出編解碼器,并且 VidPN 管理器要求顯示微型端口驅動程序實現下圖所示的拓撲。
下圖顯示了顯示微型端口驅動程序將視頻輸出編解碼器分配給視頻呈現源的一種方法。
請注意,上圖中的克隆視圖 (HD15、S-video) 由單個 CRTC 處理。 現在假設不再需要連接到 CRTC1 的 HD15 輸出。 然后,顯示微型端口驅動程序可以通過配置視頻輸出編解碼器來實現克隆視圖,如下圖所示:
與使用一個 CRTC 實現克隆視圖不同,使用兩個 CRTC 實現克隆視圖具有一些優勢。 例如,對于兩個 CRTC,HD15 和 S 視頻輸出可以具有不同的分辨率和刷新率。
重要的是,VidPN 管理器永遠不知道顯示適配器上的視頻輸出編解碼器如何分配給視頻存在的源和目標。 VidPN 管理器僅知道源和目標之間的關聯。 僅顯示微型端口驅動程序才知道涉及視頻輸出編解碼器的基礎復合關聯。
?