ID3D10Asynchronous::GetData-Methode (d3d10.h)
Abrufen von Daten aus der GPU asynchron.
Syntax
HRESULT GetData(
[out] void *pData,
[in] UINT DataSize,
[in] UINT GetDataFlags
);
Parameter
[out] pData
Typ: void*
Adresse des Arbeitsspeichers, der die Daten empfängt. Bei NULL wird GetData nur verwendet, um status zu überprüfen. Der Typ der Datenausgabe hängt vom Typ der asynchronen Schnittstelle ab. Siehe Hinweise.
[in] DataSize
Typ: UINT
Größe der abzurufenden Daten oder 0. Dieser Wert kann mit ID3D10Asynchronous::GetDataSize abgerufen werden. Muss 0 sein, wenn pDataNULL ist.
[in] GetDataFlags
Typ: UINT
Optionale Flags. Kann 0 oder eine beliebige Kombination der von D3D10_ASYNC_GETDATA_FLAG aufgezählten Flags sein.
Rückgabewert
Typ: HRESULT
Wenn diese Funktion erfolgreich ist, gibt sie S_OK zurück. Andernfalls sind folgende Rückgabewerte möglich:
- S_FALSE
- DXGI_ERROR_DEVICE_REMOVED
- DXGI_ERROR_INVALID_CALL
Hinweise
GetData ruft die Daten ab, die zwischen Aufrufen von ID3D10Asynchronous::Begin und ID3D10Asynchronous::End gesammelt wurden. Für bestimmte Abfragen ist nur ein Aufruf von ID3D10Asynchronous::End erforderlich. In diesem Fall sind die von GetData zurückgegebenen Daten bis zum letzten Aufruf von ID3D10Asynchronous::End genau (siehe ID3D10Query-Schnittstelle).
Wenn DataSize 0 ist, wird GetData nur verwendet, um status zu überprüfen, bei dem ein Rückgabewert von S_OK angibt, dass Daten für eine Anwendung verfügbar sind, und ein Rückgabewert von S_FALSE gibt an, dass Daten noch nicht verfügbar sind.
Es ist ungültig, diese Funktion für ein Prädikat aufzurufen, das mit dem Flag D3D10_QUERY_MISCFLAG_PREDICATEHINT erstellt wurde.
Wenn die asynchrone Schnittstelle, die diese Funktion aufruft , ID3D10Query Interface ist, gilt die folgende Tabelle.
Abfragetyp | Ausgabedatentyp | Unterstützt die Begin-Methode |
---|---|---|
D3D10_QUERY_EVENT | BOOL | Nein |
D3D10_QUERY_OCCLUSION | UINT64 | YES |
D3D10_QUERY_TIMESTAMP | UINT64 | Nein |
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 |
Wenn die asynchrone Schnittstelle, die diese API aufruft , ID3D10Counter Interface ist, gilt Folgendes.
Indikatortyp | Ausgabedatentyp | Einheiten |
---|---|---|
D3D10_COUNTER_GPU_IDLE | FLOAT32 | Zeitanteil |
D3D10_COUNTER_VERTEX_PROCESSING | FLOAT32 | Zeitanteil |
D3D10_COUNTER_GEOMETRY_PROCESSING | FLOAT32 | Zeitanteil |
D3D10_COUNTER_PIXEL_PROCESSING | FLOAT32 | Zeitanteil |
D3D10_COUNTER_OTHER_GPU_PROCESSING | FLOAT32 | Zeitanteil |
D3D10_COUNTER_HOST_ADAPTER_BANDWIDTH_UTILIZATION | FLOAT32 | Bruch des theoretischen Maximums |
D3D10_COUNTER_LOCAL_VIDMEM_BANDWIDTH_UTILIZATION | FLOAT32 | Bruch des theoretischen Maximums |
D3D10_COUNTER_VERTEX_THROUGHPUT_UTILIZATION | FLOAT32 | Bruch des theoretischen Maximums |
D3D10_COUNTER_TRIANGLE_SETUP_THROUGHPUT_UTILIZATION | FLOAT32 | Bruch des theoretischen Maximums |
D3D10_COUNTER_FILLRATE_THROUGHPUT_UTILIZATION | FLOAT32 | Bruch des theoretischen Maximums |
D3D10_COUNTER_VS_MEMORY_LIMITED | FLOAT32 | Zeitanteil |
D3D10_COUNTER_VS_COMPUTATION_LIMITED | FLOAT32 | Zeitanteil |
D3D10_COUNTER_GS_MEMORY_LIMITED | FLOAT32 | Zeitanteil |
D3D10_COUNTER_GS_COMPUTATION_LIMITED | FLOAT32 | Zeitanteil |
D3D10_COUNTER_PS_MEMORY_LIMITED | FLOAT32 | Zeitanteil |
D3D10_COUNTER_PS_COMPUTATION_LIMITED | FLOAT32 | Zeitanteil |
D3D10_COUNTER_POST_TRANSFORM_CACHE_HIT_RATE | FLOAT32 | fraction |
D3D10_COUNTER_TEXTURE_CACHE_HIT_RATE | FLOAT32 | fraction |
Der von einem D3D10_COUNTER_GPU_IDLE, D3D10_COUNTER_VERTEX_PROCESSING, D3D10_COUNTER_GEOMETRY_PROCESSING, D3D10_COUNTER_PIXEL_PROCESSING oder D3D10_COUNTER_OTHER_GPU_PROCESSING Zähler zurückgegebene Wert kann sich je nach Anzahl paralleler Indikatoren in einem Video-Karte unterscheiden, und diese Werte können mit der folgenden Gleichung interpretiert werden:
Die Anzahl der parallelen Indikatoren, die ein Video Karte hat, ist über NumDetectableParallelUnits in D3D10_COUNTER_INFO verfügbar und kann durch Aufrufen von ID3D10Device::CheckCounterInfo abgerufen werden.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform | Windows |
Kopfzeile | d3d10.h |
Bibliothek | D3D10.lib |