コンソールおよびリモート IDD 向けの IddCx 1.4 の更新

IddCx バージョン 1.4 に対する次の更新プログラムは、コンソールとリモート間接ディスプレイ ドライバー (IDD) の両方に適用されます。

リモート ID の開発者は、 リモート ID の IddCx 1.4 更新 を参照して、追加のリモート固有の更新プログラムも確認する必要があります。

IddCxGetVersion バージョンの更新

Windows 10 バージョン 1903 の IddCxGetVersion によって返される IddCx バージョンは、IDDCX_VERSION_19H1 (0x1400) に更新されました。 IddCx 関連のバージョン情報の完全な一覧については、 IddCx のバージョン を参照してください。

デスクトップをスワップチェーンにレンダリングするために使用する優先レンダリング アダプターを提供する

IddCx 1.4 より前の IddCx バージョンでは、 電源オン セルフテスト (POST) アダプター を使用して、PnpStopped でない場合に IDD に渡されたデスクトップ イメージをレンダリングしました。 POST アダプターが PnpStopped であった場合は、システム提供の Windows Advanced Rasterization Platform (WARP) が代わりに使用されました。 ただし、POST アダプターを使用しても最適なユーザー エクスペリエンスが提供されない構成とシナリオがあります。

IddCx 1.4 には、オプションの IddCxAdapterSetRenderAdapter OS コールバックが含まれています。 IDD は IddCxAdapterSetRenderAdapter を呼び出して、そのアダプター上のすべてのスワップチェーンに使用するレンダー アダプターを設定できます。

Windows には、設定 アプリケーションにグラフィックス 設定 ページもあります。これにより、ユーザーは、省電力または高パフォーマンス GPU に対する優先設定を行うことができます。 次の表では、Intel 統合 GPU と Nvidia ディスクリート GPU を搭載した Surface Book デバイス上でこれら 2 つの機能がどのように組み合わさっているかについて説明します。

IDD の GPU プリフェッチ* ユーザー/OS のプリフェッチ** DWM+ の列挙型 App++ の列挙型 Intel path~ Nvidia パス~~ Swapchain GPU^
None または Intel System Intel Intel 同じアダプター ハイブリッド クロス アダプター Intel
None または Intel 電力 Intel Intel 同じアダプター ハイブリッド クロス アダプター Intel
None または Intel Perf Intel NVIDIA 同じアダプター ハイブリッド クロス アダプター Intel
Nvidia System NVIDIA NVIDIA ハイブリッド クロス アダプター 同じアダプター NVIDIA
Nvidia 電力 NVIDIA Intel ハイブリッド クロス アダプター 同じアダプター NVIDIA
Nvidia Perf NVIDIA NVIDIA ハイブリッド クロス アダプター 同じアダプター NVIDIA

ここで:

  • *IDD の GPU プリフェッチ = IDD の優先 GPU
  • **ユーザー/OS プリフェッチ = ユーザー (アプリケーション) または OS の GPU 設定
  • +Enum for DWM = DX ランタイムがデスクトップ Windows マネージャー (DWM) の ID モニターを列挙する GPU
  • ++Enum for App = DX ランタイムがアプリケーションの ID モニターを列挙する GPU
  • ~Intel パス = アプリケーションが Intel 上にある場合のアプリケーションから DWM へのプレゼンテーション パス
  • ~~Nvidia パス = アプリケーションが Nvidia 上にある場合のアプリケーションから DWM へのプレゼンテーション パス
  • ^スワップチェーン GPU = 間接ディスプレイのスワップチェーンが作成される GPU

Windows 10 バージョン 1903 以降の EvtIddCxMonitorAssignSwapChain エラー処理の更新

Windows 10 バージョン 1903 以降では、 EvtIddCxMonitorAssignSwapChain コールバックの IddCx エラー処理がすべてのドライバー バージョンで変更され、新しい状態コードが導入されました。 詳細については、 EvtIdCxMonitorAssignSwapChain エラー処理 を参照してください。

EDID のないシナリオでは、モニターの物理的な幅と高さを提供する EVT_IDD_CX_MONITOR_GET_PHYSICAL_SIZE を追加します

モニターの説明が使用できない場合 (たとえば、Windows 以外のプラットフォームがモニターとして使用されている場合など) でも、IDD が物理モニターのサイズを提供する必要がある場合があります。 他のデスクトップ構成プロパティとは異なり、モニターの物理サイズはモニターの機能であるため、モニターを追加した後は変更できません。 IDD がモニターの説明を提供する場合、OS はその説明から物理サイズを受け取ります。 IDD が説明を提供できない場合、OS はオプションの EVT_IDD_CX_MONITOR_GET_PHYSICAL_SIZE ドライバー コールバックを呼び出して物理サイズを取得します。 このコールバックは、 IddCxMonitorArrival 呼び出しの一部として呼び出されます。

複数のバージョンの IddCx で実行される IddCx v1.4 ドライバーをビルドする

Windows 10 バージョン 1809 の IddCx 1.3 で行われた変更と、IddCx 1.4 で行われた変更により、単一の IDD を Windows 10 バージョン 1809 以降で実行するようにビルドできます。 詳細については、 IddCx 1.4 ドライバー のビルドを参照してください。