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 |