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 :
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 |