次の方法で共有


D3DKMT_PRESENT_STATS構造体 (d3dkmthk.h)

D3DKMT_PRESENT_STATS構造体は、レンダリング デバイスの現在の状態を表します。

構文

typedef struct _D3DKMT_PRESENT_STATS {
  [out] UINT                         PresentCount;
  [out] UINT                         PresentRefreshCount;
  [out] UINT                         SyncRefreshCount;
  [out] D3DKMT_ALIGN64 LARGE_INTEGER SyncQPCTime;
  [out] D3DKMT_ALIGN64 LARGE_INTEGER SyncGPUTime;
} D3DKMT_PRESENT_STATS;

メンバー

[out] PresentCount

OpenGL インストール可能クライアント ドライバー (ICD) がレンダリング デバイスまたはスワップ チェーンで D3DKMTPresent 関数を呼び出した回数を示す UINT 値。 最大値に達すると、 PresentCount は 0 から始まります。 新しいレンダリング デバイスが作成されると、 PresentCount は 0 に初期化されます。 オペレーティング システムは、作成されるスワップ チェーンごとに現在のカウンターを保持します。

[out] PresentRefreshCount

ディスプレイ コントローラーが新しいビデオ フレームを出力する回数を示す UINT 値。これは、各垂直リトレース期間の開始時に発生します。 オペレーティング システムは、オペレーティング システム内の各ビデオ ディスプレイ コントローラー出力の現在の更新カウンターを維持します。 PresentRefreshCount は、指定されていない値に初期化されます。

[out] SyncRefreshCount

SyncQPCTime メンバーと SyncGPUTime メンバーのタイミング情報の最新のキャプチャの数を示す UINT 値。

[out] SyncQPCTime

現在のビデオ フレームが出力されたコンピューター処理装置 (CPU) 時間 (つまり、垂直リトレースが開始された CPU 時間)。

[out] SyncGPUTime

現在のビデオ フレームが出力されたグラフィックス処理装置 (GPU) 時間 (つまり、垂直リトレースが開始された GPU 時間)。

注釈

現在の操作が廃止されると、オペレーティング システムは PresentCount の値と PresentRefreshCount の値との間の対応付け (マッピング) を維持します。つまり、オペレーティング システムがスキャンアウトされたビデオ フレームとして現在の操作を完了すると、現在の操作が終了した PresentRefreshCount の値は、廃止された現在の操作の PresentCount の値に関連付けられます。

オペレーティング システムは、レンダリング デバイス内でタイミング情報を保持し、タイミング情報を表示出力に関連付けます。 GPU が GPU 時間 (SyncGPUTime) を維持できる場合、GPU 時間はデバイス固有の頻度で動作します。 アプリケーションが GPU 時間をシステム内の他の操作に関連付けるために、オペレーティング システムは GPU 時間と CPU 時間 (SyncQPCTime) の対応関係を維持します。 GPU がこのような GPU 時間を維持できない場合、オペレーティング システムは CPU 時間のみを維持し、関連付けられている GPU 時間は常にゼロになります。

ウィンドウ モードのデバイスでは、現在の統計情報は機能しません。 ウィンドウ モードの場合、各構造体メンバーは 0 に設定されます。

メモ オペレーティング システムでは、すべてのフレームで SyncRefreshCountSyncQPCTimeおよび SyncGPUTime メンバーが更新されない場合があります。
 

要件

要件
サポートされている最小のクライアント Windows Vista
Header d3dkmthk.h (D3dkmthk.h を含む)

こちらもご覧ください

D3DKMTPresent

D3DKMT_DEVICEPRESENT_STATE