ID3D11Query
クエリ インターフェイスは GPU から情報をクエリします。
IUnknown
ID3D11Asynchronous
ID3D11Query
このインターフェイスには以下のメソッドがあります。
メソッド | 説明 |
---|---|
ID3D11Query::GetDesc | クエリのプロパティを取得します。 |
クエリは、ID3D11Device::CreateQuery を使用して作成できます。
クエリ データは通常、ID3D11DeviceContext::Begin コマンド、一部のグラフィックス コマンド、ID3D11DeviceContext::End コマンドを発行し、その後 ID3D11DeviceContext::GetData を呼び出して Begin から End の呼び出しまでの間に何が実行されたかに関するデータを取得することによって収集されます。GetData によって返されるデータは、クエリの種類によって異なります。
Begin を呼び出す必要のないクエリもあります。有効なクエリの一覧については、「D3D11_QUERY」を参照してください。
クエリは通常、次の手順で実行されます。
// Fill out queryDesc structure D3D11_QUERY_DESC queryDesc; ID3D11Query * pQuery; pDevice->CreateQuery(&queryDesc, &pQuery); pDeviceContext->Begin(); ... // Issue graphics commands pDeviceContext->End(); UINT64 queryData; // This data type is different depending on the query type while( S_OK != pQuery->GetData(&queryData, sizeof(UINT64), 0) ) { }
Begin を呼び出す必要のないクエリを使用している場合でも、End の呼び出しは必要です。End を呼び出すと、End の最終呼び出しまでの正確なデータが GetData から返されます。