This topic has not yet been rated - Rate this topic

ID3D11Query interface

Applies to: desktop apps | Metro style apps

A query interface queries information from the GPU.

Members

The ID3D11Query interface inherits from ID3D11Asynchronous. ID3D11Query also has these types of members:

Methods

The ID3D11Query interface has these methods.

MethodDescription
GetDesc

Get a query description.

 

Remarks

A query can be created with ID3D11Device::CreateQuery.

Query data is typically gathered by issuing an ID3D11DeviceContext::Begin command, issuing some graphics commands, issuing an ID3D11DeviceContext::End command, and then calling ID3D11DeviceContext::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 D3D11_QUERY.

A query is typically executed as shown in the following code:




D3D11_QUERY_DESC queryDesc;
... // Fill out queryDesc structure
ID3D11Query * pQuery;
pDevice->CreateQuery(&queryDesc, &pQuery);
pDeviceContext->Begin(pQuery);

... // Issue graphics commands

pDeviceContext->End(pQuery);
UINT64 queryData; // This data type is different depending on the query type

while( S_OK != pDeviceContext->GetData(pQuery, &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

Minimum supported client

Windows 7

Minimum supported server

Windows Server 2008 R2

Header

D3D11.h

Library

D3D11.lib

See also

Core Interfaces

 

 

Send comments about this topic to Microsoft

Build date: 3/6/2012

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ