Condividi tramite


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:

Equazione per interpretare il numero di contatori paralleli

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

Vedi anche

Interfaccia ID3D10Asynchronous