IDXGISwapChain1::P resent1 メソッド (dxgi1_2.h)

表示画面にフレームを表示します。

構文

HRESULT Present1(
       UINT                          SyncInterval,
       UINT                          PresentFlags,
  [in] const DXGI_PRESENT_PARAMETERS *pPresentParameters
);

パラメーター

SyncInterval

フレームのプレゼンテーションを垂直方向の空白と同期する方法を指定する整数。

ビット ブロック転送 (bitblt) モデル (DXGI_SWAP_EFFECT_DISCARD または DXGI_SWAP_EFFECT_SEQUENTIAL) の場合、値は次のとおりです。

  • 0 - プレゼンテーションはすぐに行われ、同期はありません。
  • 1 から 4 - n番目の垂直空白の後にプレゼンテーションを同期します。
フリップ モデル (DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL) の値は次のとおりです。
  • 0 - 以前に表示されたフレームの残り時間を取り消し、新しいフレームがキューに入っている場合は、このフレームを破棄します。
  • 1 から 4 - 少なくとも n 個の垂直ブランクのプレゼンテーションを同期します。
同期間隔の値が反転プレゼンテーション キューに与える影響を示す例については、「解説」を参照してください。

更新領域が複数の出力 (それぞれ IDXGIOutput1 で表されます) にまたがる場合、 Present1 は、ターゲット ウィンドウのクライアント領域の最大サブ四角形を含む出力への同期を実行します。

PresentFlags

スワップ チェーンプレゼンテーション オプションを含む整数値。 これらのオプションは、 DXGI_PRESENT 定数によって定義されます。

[in] pPresentParameters

更新 された四 角形と、表示するフレームのスクロール情報を記述するDXGI_PRESENT_PARAMETERS構造体へのポインター。

戻り値

可能な戻り値は、S_OK、 DXGI_ERROR_DEVICE_REMOVEDDXGI_STATUS_OCCLUDEDDXGI_ERROR_INVALID_CALL、またはE_OUTOFMEMORYです。

注釈

アプリは Present1 を使用して、スクロールとダーティ四角形を指定してプレゼンテーションを最適化できます。 ランタイムにこれらの四角形に関する情報がある場合、ランタイムはプレゼンテーション中に必要なビットレットをより効率的に実行し、このメタデータをデスクトップ ウィンドウ マネージャー (DWM) に渡すことができます。 その後、DWM はメタデータを使用してプレゼンテーションを最適化し、そのメタデータを間接ディスプレイとターミナル サーバーに渡して、ネットワーク経由のトラフィックを最適化できます。 アプリは、変更を Present1 に渡すダーティリージョンのみに限定し、未定義のリソース コンテンツが公開されないようにダーティリージョン全体を変更する必要があります。

DXGI_SWAP_EFFECT_FLIP_SEQUENTIAL値を設定して作成した反転プレゼンテーション モデルスワップ チェーンの場合、Flags パラメーターで DXGI_PRESENT_DO_NOT_SEQUENCE フラグを渡す場合を除き、プレゼンテーションが成功すると、グラフィックス パイプラインからバック バッファー 0 のバインドが解除されます。

画面にコンテンツを表示するときにデータ値がどのように変化するかについては、「 色空間のデータを変換する」を参照してください。

アプリで複数のスレッドを使用する場合の Present1 の呼び出しについては、「マルチスレッドの考慮事項」と「マルチスレッドと DXGI」を参照してください。

プレゼンテーション モデル キューを反転する

Sync-interval 値を持つ次のフレームが、 Present1 を呼び出す前に、最も古い (A) から最新 (E) にキューに入れているとします。

A: 3, B: 0, C: 0, D: 1, E: 0

Present1 を呼び出すと、ランタイムは 1 つの垂直空白間隔についてのみフレーム A を表示します。 フレーム B の同期間隔 0 が原因で、ランタイムはフレーム A を早期に終了します。次に、ランタイムは 1 つの垂直空白間隔のフレーム D を表示し、新しいプレゼンテーションを送信するまでフレーム E を表示します。 ランタイムはフレーム B と C を破棄します。

可変リフレッシュ レートの表示

ティアリングが有効になっているのは、可変リフレッシュ レート ディスプレイの要件です。 CheckFeatureSupport メソッドを使用すると、この機能が使用可能かどうかを判断し、必要なフラグを設定するには、DXGI_PRESENT_ALLOW_TEARINGDXGI_SWAP_CHAIN_FLAG_ALLOW_TEARINGの説明を参照し、DXGI 1.5 の改善変数更新レートの表示/Vsync オフ セクションを設定できます。

要件

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

こちらもご覧ください

IDXGISwapChain1

存在