DXGI_PRESENT_PARAMETERS 構造体 (dxgi1_2.h)

オペレーティング システムによるプレゼンテーションの最適化に役立つ present に関する情報について説明します。

構文

typedef struct DXGI_PRESENT_PARAMETERS {
  UINT  DirtyRectsCount;
  RECT  *pDirtyRects;
  RECT  *pScrollRect;
  POINT *pScrollOffset;
} DXGI_PRESENT_PARAMETERS;

メンバー

DirtyRectsCount

表示されたフレームのバック バッファーで更新する更新された四角形の数。 オペレーティング システムは、この情報を使用してプレゼンテーションを最適化します。 このメンバーを 0 に設定すると、フレーム全体を更新することを示すことができます。

pDirtyRects

表示されたフレームのバック バッファーで更新する、更新された四角形の一覧。 アプリケーションは、ランタイムに報告する四角形ごとに 1 ピクセルごとに更新する必要があります。アプリケーションでは、ピクセルが前のフレームから保存されていると想定することはできません。 四角形ダーティ更新する方法の詳細については、「解説」を参照してください。 DirtyRectsCount が 0 の場合、このメンバーを NULL に設定できます。 アプリケーションは、ダーティ四角形の外側のピクセルを更新することはできません。

pScrollRect

スクロールされた四角形へのポインター。 スクロールされた四角形は、ランタイムビットブロックがコンテンツを転送する前のフレームの四角形です。 また、ランタイムでは、スクロールされた四角形を使用して、ターミナル サーバーと間接表示のシナリオでのプレゼンテーションを最適化します。

スクロールされた四角形には、移動先の四角形 、つまり、スクロールされたコンテンツで塗りつぶされている現在のフレーム上の領域も記述されます。 このメンバーを NULL に設定すると、前のフレームからコンテンツがスクロールされていないことを示すことができます。

pScrollOffset

(前のフレームの) ソース四角形から移動先の四角形 (現在のフレームの) に移動するスクロール領域のオフセットへのポインター。 このメンバーを NULL に設定すると、オフセットがないことを示すことができます。

注釈

この構造体は 、Present1 メソッドによって使用されます。

スクロール四角形とダーティ四角形の一覧が重なることがあります。 この状況では、ダーティ四角形が優先されます。 その後、アプリケーションはスクロール領域の上に動的コンテンツの一部を配置できます。 たとえば、アプリケーションでページをスクロールし、同時にビデオを再生できます。

次の図と座標は、この例を示しています。

スクロールとダーティの四角形の重なりの図
DirtyRectsCount = 2
pDirtyRects[ 0 ] = { 10, 30, 40, 50 } // Video
pDirtyRects[ 1 ] = { 0, 70, 50, 80 } // New line
*pScrollRect = { 0, 0, 50, 70 }
*pScrollOffset = { 0, -10 }

アプリケーションがレンダリングする前のフレームとコンテンツの一部が組み合わされ、オペレーティング システムが表示画面に表示する最終的なフレームが生成されます。 ほとんどのウィンドウは、前のフレームからスクロールされます。 アプリケーションは、スクロールのために表示されるコンテンツの新しいチャンクでビデオ フレームを更新する必要があります。

破線の四角形は、現在のフレーム内のスクロール四角形を示しています。 スクロール四角形は、 pScrollRect メンバーによって指定されます。 矢印はスクロール オフセットを示しています。 スクロール オフセットは、 pScrollOffset メンバーによって指定されます。 塗りつぶされた四角形は、アプリケーションが新しいコンテンツで更新したダーティ四角形を示します。 塗りつぶされた四角形は、 DirtyRectsCount メンバーと pDirtyRects メンバーによって指定されます。

スクロール四角形とオフセットは、DXGI_SWAP_EFFECT_DISCARDまたは現在のオプションDXGI_SWAP_EFFECT_SEQUENTIALサポートされていません。 ダーティ四角形とスクロール四角形は、マルチサンプリングされたスワップ チェーンではサポートされていません。

合成と必要なビットレットの実際の実装は、ビットモデルとフリップモデルでは異なります。 これらのモデルの詳細については、「 DXGI Flip Model」を参照してください。

反転モデルスワップ チェーンとプレゼンテーションの最適化の詳細については、「反転モデルを使用したプレゼンテーションの拡張」、「四角形のダーティ」、「スクロール領域」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 7 のWindows 8とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
サポートされている最小のサーバー Windows Server 2008 R2 のWindows Server 2012とプラットフォーム更新プログラム [デスクトップ アプリ |UWP アプリ]
Header dxgi1_2.h

こちらもご覧ください

DXGI 構造体