ビデオ表現ネットワークの概要

DirectX グラフィックス カーネル サブシステム (Dxgkrnl.sys) のコンポーネントであるビデオ 提示ネットワーク (VidPN) マネージャーは、ディスプレイ アダプターに接続されているモニターやその他のディスプレイ デバイスのコレクションを管理する役割を担います。 VidPN マネージャーの責任には、次のものが含まれます。

  • モニターのホット プラグ接続と取り外しに対応します。

  • 接続されたモニターのセットが変更されると、使用可能な一連の表示モードを維持および更新します。

  • ディスプレイ アダプタ上のレンダリング サーフェスとビデオ出力の関連付けを管理します。たとえば、デスクトップのビューと拡張機能を複数のモニターに複製します。

  • ノート PC の蓋を開いたり閉じたりするときに、使用可能なディスプレイ デバイスと表示モードのセットを調整します。

  • ラップトップ コンピューターをドッキングまたはドッキング解除するときに、使用可能なディスプレイ デバイスと表示モードのセットを調整します。

ビデオ メモリからレンダリングされたコンテンツをスキャンし、ビデオ出力に表示する役割を担うディスプレイ アダプター上のハードウェアは、 ディスプレイ アダプターのプレゼンテーション サブシステムと呼ばれます。 ビデオ 提示ネットワーク (VidPN) は、ディスプレイ アダプターのプレゼンテーション サブシステムのソフトウェア モデルです。

ディスプレイ アダプターのプレゼンテーション サブシステムの重要な要素は、ビュー (プライマリ サーフェス チェーン) とビデオ出力です。 VidPN モデルでは、ビューは ビデオ 存在ソースと呼ばれ、ビデオ出力は ビデオ存在ターゲットと呼ばれます。

ビデオの存在パス は、ビデオの存在ソースとビデオの存在ターゲットの間の関連付けです。 VidPN は、一連のビデオ存在パスをメインしてソースとターゲットの関係をモデル化します。 パスのセットは VidPN トポロジと呼ばれます。

ビデオ表示ターゲットは、ディスプレイ アダプターに接続されているモニター (またはその他の外部ディスプレイ デバイス) ではないことに注意してください。 ビデオの現在のターゲットは、ビデオ出力コネクタ自体です。

次の図は、VidPN を示しています。

Diagram illustrating a Video Present Network (VidPN) with sources, targets, and connectors.

上の図に示す VidPN には、DVI コネクタ、HD15 コネクタ、S ビデオ コネクタの 3 つのビデオ存在ターゲットがあります。 VidPN トポロジは、2 つのソースを 3 つのターゲットに接続する線で表されます。 このトポロジでは、ソース 1 が DVI ターゲットに接続され、ソース 2 が HD15 と S ビデオの両方のターゲットに接続されていることを指定します。 ソース 2 にレンダリングされたコンテンツは、HD15 および S ビデオ コネクタに接続されているディスプレイ デバイスに複製ビューとして表示されます。

現在の各ビデオ ソースでは、 ソース モードと呼ばれる特定のサーフェス形式のセットがサポートされています。 さまざまなビデオの現在のソースでサポートされているソース モードを追跡するために、VidPN は、各ビデオの現在のソースの ソース モード セット を保持します。 特定のビデオ存在ソースに対して設定されたソース モードは静的ではありません。トポロジが変わると変化し、他のビデオ存在ソースに対して選択されたモードに応じて変化します。

このモデルは、ビデオの存在ターゲットでも同様に機能します。 各ビデオ プレゼンテーション ターゲットは、 ターゲット モードと呼ばれる特定のビデオ信号形式のセットをサポートし、VidPN メイン各ビデオ 存在ターゲットに対して設定された ターゲット モード 含まれています。 トポロジの変化に合わせて、および他のビデオ 存在ターゲットに対してモードが選択されると、特定のビデオ存在ターゲットに設定されたターゲット モードが変更されます。

ディスプレイ ミニポート ドライバーの役割

ディスプレイ アダプターには、ビデオの現在のソースから読み取り、対応するビデオ信号をビデオの存在ターゲットに配置する 1 つ以上の ビデオ出力コーデック (CRTC など) があります。 ビデオ出力コーデックは、任意の時点で最大 1 つのビデオ 存在ソースから読み取ることができます。ただし、そのコーデックは、複数のビデオ存在ターゲット (クローン ビュー) にビデオ信号を提供できます。VidPNマネージャーは、ビデオの現在のソースとビデオの存在ターゲットの間の関連付けを懸念します。しかし、ビデオ出力コーデックの役割にそれ自体を気にしません。 特定のビデオの現在のソースから読み取るビデオ出力コーデックに関する決定は、ディスプレイ ミニポート ドライバーの制御下にあります。 たとえば、ディスプレイ アダプターに 2 つのビデオ出力コーデックがあり、次の図に示すトポロジを実装するように VidPN マネージャーがディスプレイ ミニポート ドライバーに要求するとします。

Diagram showing a VidPN topology with two sources connected to three targets.

次の図は、ディスプレイ ミニポート ドライバーがビデオの現在のソースにビデオ出力コーデックを割り当てることができる 1 つの方法を示しています。

Diagram showing the driver assigning CRTC1 to HD15 for Source 1, and CRTC2 to HD15 and S-Video for Source 2.

前の図の複製ビュー (HD15、S ビデオ) が 1 つの CRTC によって処理されていることに注意してください。 次に、CRTC1 に接続されている HD15 出力が不要になったとします。 次の図に示すように、ディスプレイ ミニポート ドライバーは、ビデオ出力コーデックを構成することによって複製ビューを実装できます。

Diagram showing an alternative use of video output codecs with two CRTCs for clone view.

2 つの CRTC を使用して複製ビューを実装すると、1 つの CRTC で実装するよりもいくつかの利点があります。 たとえば、2 つの CRTC では、HD15 と S ビデオの出力の解像度とリフレッシュ レートが異なる場合があります。

重要なポイントとして、VidPNマネージャーは、ディスプレイアダプタ上のビデオ出力コーデックがビデオの現在のソースとターゲットにどのように割り当てられるかについて知りません。 VidPN マネージャーは、ソースとターゲットの間の関連付けのみを認識します。 ビデオ出力コーデックを含む基になる複合の関連付けは、ディスプレイ ミニポート ドライバーにのみ認識されます。