Condividi tramite


Metodo ID3D11DeviceContext::GetData (d3d11.h)

Recuperare i dati dall'unità di elaborazione grafica (GPU) in modo asincrono.

Sintassi

HRESULT GetData(
  [in]            ID3D11Asynchronous *pAsync,
  [out, optional] void               *pData,
  [in]            UINT               DataSize,
  [in]            UINT               GetDataFlags
);

Parametri

[in] pAsync

Tipo: ID3D11Asynchronous*

Puntatore a un'interfaccia ID3D11Asynchronous per l'oggetto su cui GetData recupera i dati.

[out, optional] pData

Tipo: void*

Indirizzo di memoria che riceverà i dati. Se NULL, GetData verrà usato solo per controllare lo stato. Il tipo di output dei dati dipende dal tipo di interfaccia asincrona.

[in] DataSize

Tipo: UINT

Dimensioni dei dati da recuperare o 0. Deve essere 0 quando pData è NULL.

[in] GetDataFlags

Tipo: UINT

Flag facoltativi. Può essere 0 o qualsiasi combinazione dei flag enumerati da D3D11_ASYNC_GETDATA_FLAG.

Valore restituito

Tipo: HRESULT

Questo metodo restituisce uno dei codici restituiti Direct3D 11. Un valore restituito di S_OK indica che i dati in pData sono disponibili per l'accesso all'applicazione chiamante. Un valore restituito di S_FALSE indica che i dati non sono ancora disponibili. Se i dati non sono ancora disponibili, l'applicazione deve chiamare GetData fino a quando i dati non sono disponibili.

Commenti

Le query in un contesto posticipato sono limitate al disegno predicato. Ciò significa che non è possibile chiamare ID3D11DeviceContext::GetData in un contesto posticipato per ottenere dati su una query; è possibile chiamare GetData solo nel contesto immediato per ottenere i dati relativi a una query. Per il disegno predicato, i risultati di una query di tipo predicato vengono usati dalla GPU e non restituiti a un'applicazione. Per altre informazioni sul predicato e sul disegno predicato, vedere D3D11DeviceContext::SetPredication.

GetData recupera i dati raccolti dal runtime tra le chiamate a ID3D11DeviceContext::Begin e ID3D11DeviceContext::End. Alcune query richiedono solo una chiamata a ID3D11DeviceContext::End , nel qual caso i dati restituiti da GetData sono accurati fino all'ultima chiamata a ID3D11DeviceContext::End. Per informazioni sulle query che richiedono solo una chiamata a ID3D11DeviceContext::End e sul tipo di dati recuperati da GetData per ogni query, vedere D3D11_QUERY.

Se DataSize è 0, GetData viene usato solo per controllare lo stato.

Un'applicazione raccoglie i dati dei contatori chiamando ID3D11DeviceContext::Begin, eseguendo alcuni comandi grafici, chiamando ID3D11DeviceContext::End e quindi chiamando ID3D11DeviceContext::GetData per ottenere dati su ciò che è accaduto tra le chiamate Begin e End . Per informazioni sui tipi di contatori delle prestazioni, vedere D3D11_COUNTER.

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione d3d11.h
Libreria D3D11.lib

Vedi anche

ID3D11DeviceContext