ID3D10Query interface (d3d10.h)
A query interface queries information from the GPU.
Inheritance
The ID3D10Query interface inherits from ID3D10Asynchronous. ID3D10Query also has these types of members:
Methods
The ID3D10Query interface has these methods.
ID3D10Query::GetDesc Get a query description. (ID3D10Query.GetDesc) |
Remarks
A query can be created with ID3D10Device::CreateQuery.
This interface inherits the functionality of an ID3D10Asynchronous Interface.
Query data is typically gathered by issuing an ID3D10Asynchronous::Begin command, issuing some graphics commands, issuing an ID3D10Asynchronous::End command, and then calling ID3D10Asynchronous::GetData to get data about what happened in between the Begin and End calls. The data returned by GetData will be different depending on the type of query.
There are, however, some queries that do not require calls to Begin. For a list of possible queries see D3D10_QUERY.
A query is typically executed as shown in the following code:
D3D10_QUERY_DESC queryDesc;
... // Fill out queryDesc structure
ID3D10Query * pQuery;
pDevice->CreateQuery(&queryDesc, &pQuery);
pQuery->Begin();
... // Issue graphics commands, do whatever
pQuery->End();
UINT64 queryData; // This data type is different depending on the query type
while( S_OK != pQuery->GetData(&queryData, sizeof(UINT64), 0) )
{
}
When using a query that does not require a call to Begin, it still requires a call to End. The call to End causes the data returned by GetData to be accurate up until the last call to End.
Requirements
Requirement | Value |
---|---|
Target Platform | Windows |
Header | d3d10.h |