DXGI 1.3 の機能強化
次の機能は、Windows 8.1 以降に含まれる Microsoft DirectX Graphic Infrastructure (DXGI) 1.3 に追加されました。
DXGI アダプターのメモリ使用量をトリミングする
Windows 8.1 以降、DXGI 1.3 には、DXGI アダプターによって割り当てられた使われていないメモリ リソースをフラッシュして解放する機能が追加されました。 これにより、アプリは一時停止中に一時メモリを解放できるので、他のアプリのリソースを解放するためにアプリを終了する可能性が低くなります。 アプリが再開すると、必要に応じて、トリミングをサポートするデバイス ドライバーによってリソースが再作成されます。 Windows 8.1 以降、アプリによって作成されたすべての Direct3D デバイスは、一時停止時に IDXGIDevice3::Trim を呼び出してメモリ占有領域を減らし、アプリが強制終了される可能性を減らす必要があります。
マルチプレーン オーバーレイ
Windows 8.1 以降、DXGI 1.3 はマルチプレーン オーバーレイをサポートします。 デバイスがハードウェアでマルチプレーン オーバーレイをサポートしているかどうかを確認するには、IDXGIOutput2::SupportsOverlays を使います。
重複するスワップ チェーンとスワップ チェーンのスケーリング
Windows 8.1 以降、DXGI 1.3 は重複するスワップ チェーンをサポートします。 重複するスワップ チェーンは、ネイティブ解像度で UI を表示しながら、(ハードウェアのアップスケールを使って) 非ネイティブ解像度で 3D グラフィックスを描画するために使われます。 これにより、ゲームでは、プレーヤー スコアやダイアログ テキストなどの UI 要素の視覚的な品質を低下させることなく、応答性の高いゲームプレイのために高いフィル レートを活用できます。 マルチプレーン オーバーレイをサポートするデバイスの場合、Direct3D は重複するスワップ チェーンにマルチプレーン オーバーレイを使います。 フォアグラウンド スワップ チェーンを作成するには、スワップ チェーンの作成時に DXGI_SWAP_CHAIN_FLAG_FOREGROUND_LAYER フラグを指定します。また、IDXGISwapChain2::SetMatrixTransform と IDXGISwapChain2::GetMatrixTransform を使って、ゲームプレイに使われるスワップ チェーンをスケーリングします。
スワップ チェーンのバックバッファーのサブ領域を選ぶ
Windows 8.1 以降では、DXGI 1.3 を使って、スワップ チェーンで使うバックバッファーのサブ領域を選択できるようになりました。これにより、スワップ チェーンを再作成することなく、より小さいバック バッファーにレンダリングできます。 IDXGISwapChain2::SetSourceSize と IDXGISwapChain2::GetSourceSize のページを参照してください。
短い待機時間のスワップ チェーンのプレゼンテーション
Windows 8.1 以降、DXGI 1.3 では、デバイスを使って次のフレームの描画を開始する前に、スワップ チェーンが前のフレームの表示を完了できるようにすることで、待機時間を短縮できるようになりました。 IDXGISwapChain2::GetFrameLatencyWaitableObject、IDXGISwapChain2::GetMaximumFrameLatency、IDXGISwapChain2::SetMaximumFrameLatency のページを参照してください。