Partager via


ID3D10Asynchronous ::GetData, méthode (d3d10.h)

Obtenir des données à partir du GPU de manière asynchrone.

Syntaxe

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

Paramètres

[out] pData

Type : void*

Adresse de mémoire qui recevra les données. Si la valeur est NULL, GetData est utilisé uniquement pour case activée status. Le type de sortie de données dépend du type d’interface asynchrone. Consultez la section Notes.

[in] DataSize

Type : UINT

Taille des données à récupérer ou 0. Cette valeur peut être obtenue avec ID3D10Asynchronous ::GetDataSize. Doit être 0 lorsque pData a la valeur NULL.

[in] GetDataFlags

Type : UINT

Indicateurs facultatifs. Il peut s’agir de 0 ou d’une combinaison des indicateurs énumérés par D3D10_ASYNC_GETDATA_FLAG.

Valeur retournée

Type : HRESULT

Si cette fonction réussit, elle retourne S_OK. Sinon, les valeurs de retour possibles sont les suivantes :

  • S_FALSE
  • DXGI_ERROR_DEVICE_REMOVED
  • DXGI_ERROR_INVALID_CALL

Remarques

GetData récupère les données collectées entre les appels à ID3D10Asynchronous ::Begin et ID3D10Asynchronous ::End. Certaines requêtes nécessitent uniquement un appel à ID3D10Asynchronous ::End , auquel cas les données retournées par GetData sont exactes jusqu’au dernier appel à ID3D10Asynchronous ::End (voir interface ID3D10Query).

Si DataSize a la valeur 0, GetData est utilisé uniquement pour case activée status où une valeur de retour de S_OK indique que les données sont disponibles pour une application, et une valeur de retour de S_FALSE indique que les données ne sont pas encore disponibles.

Il n’est pas valide d’appeler cette fonction sur un prédicat créé avec l’indicateur D3D10_QUERY_MISCFLAG_PREDICATEHINT.

Si l’interface asynchrone qui appelle cette fonction est ID3D10Query Interface, le tableau suivant s’applique.

Type de requête Type de données de sortie Supports Begin, méthode
D3D10_QUERY_EVENT BOOL Non
D3D10_QUERY_OCCLUSION UINT64 YES
D3D10_QUERY_TIMESTAMP UINT64 Non
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
 

Si l’interface asynchrone qui appelle cette API est ID3D10Counter Interface, les conditions suivantes s’appliquent.

Type de compteur Type de données de sortie Unités
D3D10_COUNTER_GPU_IDLE FLOAT32 fraction de temps
D3D10_COUNTER_VERTEX_PROCESSING FLOAT32 fraction de temps
D3D10_COUNTER_GEOMETRY_PROCESSING FLOAT32 fraction de temps
D3D10_COUNTER_PIXEL_PROCESSING FLOAT32 fraction de temps
D3D10_COUNTER_OTHER_GPU_PROCESSING FLOAT32 fraction de temps
D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION FLOAT32 fraction du maximum théorique
D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION FLOAT32 fraction du maximum théorique
D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION FLOAT32 fraction du maximum théorique
D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION FLOAT32 fraction du maximum théorique
D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION FLOAT32 fraction du maximum théorique
D3D10_COUNTER_VS_MEMORY_LIMITED FLOAT32 fraction de temps
D3D10_COUNTER_VS_COMPUTATION_LIMITED FLOAT32 fraction de temps
D3D10_COUNTER_GS_MEMORY_LIMITED FLOAT32 fraction de temps
D3D10_COUNTER_GS_COMPUTATION_LIMITED FLOAT32 fraction de temps
D3D10_COUNTER_PS_MEMORY_LIMITED FLOAT32 fraction de temps
D3D10_COUNTER_PS_COMPUTATION_LIMITED FLOAT32 fraction de temps
D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE FLOAT32 fraction
D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE FLOAT32 fraction
 

La valeur retournée par un compteur D3D10_COUNTER_GPU_IDLE, D3D10_COUNTER_VERTEX_PROCESSING, D3D10_COUNTER_GEOMETRY_PROCESSING, D3D10_COUNTER_PIXEL_PROCESSING ou D3D10_COUNTER_OTHER_GPU_PROCESSING peut être différente selon le nombre de compteurs parallèles qui existent sur un carte vidéo, et ces valeurs peuvent être interprétées avec l’équation suivante :

Équation pour interpréter le nombre de compteurs parallèles

Le nombre de compteurs parallèles dont dispose une vidéo carte est disponible à partir de NumDetectableParallelUnits dans D3D10_COUNTER_INFO, et il peut être récupéré en appelant ID3D10Device ::CheckCounterInfo.

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête d3d10.h
Bibliothèque D3D10.lib

Voir aussi

ID3D10Asynchronous Interface