Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |