Поделиться через


ИНТЕРФЕЙС ID3D11Query (d3d11.h)

Интерфейс запроса запрашивает сведения из GPU.

Наследование

Интерфейс ID3D11Query наследуется от ID3D11Asynchronous. ID3D11Query также имеет следующие типы элементов:

Методы

Интерфейс ID3D11Query содержит следующие методы.

 
ID3D11Query::GetDesc

Получение описания запроса. (ID3D11Query.GetDesc)

Комментарии

Запрос можно создать с помощью ID3D11Device::CreateQuery.

Данные запроса обычно собираются путем выполнения команды ID3D11DeviceContext::Begin , выполнения некоторых графических команд, выполнения команды ID3D11DeviceContext::End , а затем вызова ID3D11DeviceContext::GetData для получения данных о том, что произошло между вызовами Begin и End. Данные, возвращаемые GetData , будут отличаться в зависимости от типа запроса.

Однако существуют некоторые запросы, для которых не требуются вызовы Begin. Список возможных запросов см. в разделе D3D11_QUERY.

Запрос обычно выполняется, как показано в следующем коде:



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) )
{
}

При использовании запроса, для которых не требуется вызов Begin, он по-прежнему требует вызова метода End. Вызов End приводит к тому, что данные, возвращаемые GetData , будут точными до последнего вызова End.

Требования

Требование Значение
Минимальная версия клиента Windows 7 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2008 R2 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header d3d11.h

См. также раздел

Основные интерфейсы

ID3D11Asynchronous