Metodo ID3D10Asynchronous::GetData (d3d10.h)
Ottenere i dati dalla GPU in modo asincrono.
Sintassi
HRESULT GetData(
[out] void *pData,
[in] UINT DataSize,
[in] UINT GetDataFlags
);
Parametri
[out] 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. Vedere la sezione Osservazioni.
[in] DataSize
Tipo: UINT
Dimensioni dei dati da recuperare o 0. Questo valore può essere ottenuto con ID3D10Asynchronous::GetDataSize. Deve essere 0 quando pData è NULL.
[in] GetDataFlags
Tipo: UINT
Flag facoltativi. Può essere 0 o qualsiasi combinazione dei flag enumerati da D3D10_ASYNC_GETDATA_FLAG.
Valore restituito
Tipo: HRESULT
Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, i valori restituiti possibili sono i seguenti:
- S_FALSE
- DXGI_ERROR_DEVICE_REMOVED
- DXGI_ERROR_INVALID_CALL
Commenti
GetData recupera i dati raccolti tra le chiamate a ID3D10Asynchronous::Begin e ID3D10Asynchronous::End. Alcune query richiedono solo una chiamata a ID3D10Asynchronous::End , nel qual caso i dati restituiti da GetData sono accurati fino all'ultima chiamata a ID3D10Asynchronous::End (vedere l'interfaccia ID3D10Query).
Se DataSize è 0, GetData viene usato solo per controllare lo stato in cui un valore restituito di S_OK indica che i dati sono disponibili per assegnare a un'applicazione e un valore restituito di S_FALSE indica che i dati non sono ancora disponibili.
Non è possibile richiamare questa funzione su un predicato creato con il flag D3D10_QUERY_MISCFLAG_PREDICATEHINT.
Se l'interfaccia asincrona che chiama questa funzione è ID3D10Query Interface, viene applicata la tabella seguente.
Tipo di query | Tipo di dati di output | Supports Begin, metodo |
---|---|---|
D3D10_QUERY_EVENT | BOOL | NO |
D3D10_QUERY_OCCLUSION | UINT64 | YES |
D3D10_QUERY_TIMESTAMP | UINT64 | NO |
D3D10_QUERY_TIMESTAMP_DISJOINT | D3D10_QUERY_DATA_TIMESTAMP_DISJOINT | YES |
D3D10_QUERY_PIPELINE_STATISTICS | D3D10_QUERY_DATA_PIPELINE_STATISTICS | YES |
D3D10_QUERY_OCCLUSION_PREDICATE | BOOL | YES |
D3D10_QUERY_SO_STATISTICS | D3D10_QUERY_DATA_SO_STATISTICS | YES |
D3D10_QUERY_SO_OVERFLOW_PREDICATE | BOOL | YES |
Se l'interfaccia asincrona che chiama questa API è ID3D10Counter Interface, si applica quanto segue.
Tipo di contatore | Tipo di dati di output | Unità |
---|---|---|
D3D10_COUNTER_GPU_IDLE | FLOAT32 | frazione di tempo |
D3D10_COUNTER_VERTEX_PROCESSING | FLOAT32 | frazione di tempo |
D3D10_COUNTER_GEOMETRY_PROCESSING | FLOAT32 | frazione di tempo |
D3D10_COUNTER_PIXEL_PROCESSING | FLOAT32 | frazione di tempo |
D3D10_COUNTER_OTHER_GPU_PROCESSING | FLOAT32 | frazione di tempo |
D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION | FLOAT32 | frazione del massimo teorico |
D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION | FLOAT32 | frazione del massimo teorico |
D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION | FLOAT32 | frazione del massimo teorico |
D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION | FLOAT32 | frazione del massimo teorico |
D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION | FLOAT32 | frazione del massimo teorico |
D3D10_COUNTER_VS_MEMORY_LIMITED | FLOAT32 | frazione di tempo |
D3D10_COUNTER_VS_COMPUTATION_LIMITED | FLOAT32 | frazione di tempo |
D3D10_COUNTER_GS_MEMORY_LIMITED | FLOAT32 | frazione di tempo |
D3D10_COUNTER_GS_COMPUTATION_LIMITED | FLOAT32 | frazione di tempo |
D3D10_COUNTER_PS_MEMORY_LIMITED | FLOAT32 | frazione di tempo |
D3D10_COUNTER_PS_COMPUTATION_LIMITED | FLOAT32 | frazione di tempo |
D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE | FLOAT32 | frazione |
D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE | FLOAT32 | frazione |
Il valore restituito da un contatore D3D10_COUNTER_GPU_IDLE, D3D10_COUNTER_VERTEX_PROCESSING, D3D10_COUNTER_GEOMETRY_PROCESSING, D3D10_COUNTER_PIXEL_PROCESSING o D3D10_COUNTER_OTHER_GPU_PROCESSING può essere diverso a seconda del numero di contatori paralleli presenti in una scheda video e questi valori possono essere interpretati con l'equazione seguente:
Il numero di contatori paralleli che una scheda video ha è disponibile da NumDetectableParallelUnits in D3D10_COUNTER_INFO e può essere recuperato chiamando ID3D10Device::CheckCounterInfo.
Requisiti
Requisito | Valore |
---|---|
Piattaforma di destinazione | Windows |
Intestazione | d3d10.h |
Libreria | D3D10.lib |