D3D11_QUERY-Enumeration (d3d11.h)

Abfragetypen.

Syntax

typedef enum D3D11_QUERY {
  D3D11_QUERY_EVENT = 0,
  D3D11_QUERY_OCCLUSION,
  D3D11_QUERY_TIMESTAMP,
  D3D11_QUERY_TIMESTAMP_DISJOINT,
  D3D11_QUERY_PIPELINE_STATISTICS,
  D3D11_QUERY_OCCLUSION_PREDICATE,
  D3D11_QUERY_SO_STATISTICS,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE,
  D3D11_QUERY_SO_STATISTICS_STREAM0,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0,
  D3D11_QUERY_SO_STATISTICS_STREAM1,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1,
  D3D11_QUERY_SO_STATISTICS_STREAM2,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2,
  D3D11_QUERY_SO_STATISTICS_STREAM3,
  D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3
} ;

Konstanten

 
D3D11_QUERY_EVENT
Wert: 0
Bestimmt, ob die GPU die Verarbeitung von Befehlen abgeschlossen hat oder nicht. Wenn die GPU die Verarbeitung der Befehle ID3D11DeviceContext::GetData abgeschlossen hat, gibt S_OK zurück, und pData zeigt auf eine BOOL mit dem Wert TRUE. Bei Verwendung dieses Abfragetyps ist ID3D11DeviceContext::Begin deaktiviert.
D3D11_QUERY_OCCLUSION
Rufen Sie die Anzahl der Beispiele ab, die die Tiefen- und Schablonentests zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End bestanden haben. ID3D11DeviceContext::GetData gibt einen UINT64 zurück. Wenn ein Tiefen- oder Schablonentest deaktiviert ist, wird jeder dieser Tests als Bestanden gezählt.
D3D11_QUERY_TIMESTAMP
Rufen Sie einen Zeitstempelwert ab, wobei ID3D11DeviceContext::GetData einen UINT64-Wert zurückgibt. Diese Art von Abfrage ist nur nützlich, wenn zwei Zeitstempelabfragen in der Mitte einer D3D11_QUERY_TIMESTAMP_DISJOINT Abfrage ausgeführt werden. Der Unterschied von zwei Zeitstempeln kann verwendet werden, um zu bestimmen, wie viele Ticks verstrichen sind, und die D3D11_QUERY_TIMESTAMP_DISJOINT Abfrage bestimmt, ob dieser Unterschied ein zuverlässiger Wert ist und auch einen Wert aufweist, der zeigt, wie die Anzahl der Ticks in Sekunden konvertiert werden kann. Siehe D3D11_QUERY_DATA_TIMESTAMP_DISJOINT. Bei Verwendung dieses Abfragetyps ist ID3D11DeviceContext::Begin deaktiviert.
D3D11_QUERY_TIMESTAMP_DISJOINT
Bestimmt, ob ein D3D11_QUERY_TIMESTAMP zuverlässige Werte zurückgibt, und gibt auch die Häufigkeit des Prozessors an, sodass Sie die Anzahl verstrichener Ticks in Sekunden konvertieren können. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_TIMESTAMP_DISJOINT zurück. Diese Art von Abfrage sollte nur einmal pro Frame oder weniger aufgerufen werden.
D3D11_QUERY_PIPELINE_STATISTICS
Abrufen von Pipelinestatistiken, z. B. der Anzahl der Pixel-Shaderaufrufe zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_PIPELINE_STATISTICS zurück.
D3D11_QUERY_OCCLUSION_PREDICATE
Ähnlich wie D3D11_QUERY_OCCLUSION, mit Ausnahme von ID3D11DeviceContext::GetData gibt eine BOOL zurück, die angibt, ob beispiele die Tiefen- und Schablonentests bestanden haben oder nicht – TRUE bedeutet, dass mindestens ein bestanden wurde, FALSE bedeutet, dass keine bestanden wurde.
D3D11_QUERY_SO_STATISTICS
Rufen Sie Streamingausgabestatistiken ab, z. B. die Anzahl der Primitiven, die zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End gestreamt wurden. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_SO_STATISTICS-Struktur zurück.
D3D11_QUERY_SO_OVERFLOW_PREDICATE
Bestimmt, ob einer der Streamingausgabepuffer zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End überläuft oder nicht. ID3D11DeviceContext::GetData gibt eine BOOL zurück – TRUE bedeutet, dass es einen Überlauf gab, FALSE , was bedeutet, dass kein Überlauf aufgetreten ist. Wenn die Streamingausgabe in mehrere Puffer schreibt und einer der Puffer überläuft, wird das Schreiben in alle Ausgabepuffer beendet. Wenn ein Überlauf von Direct3D erkannt wird, wird dies verhindert , da kein Arbeitsspeicher beschädigt ist. Diese Prädication kann in Verbindung mit einer SO_STATISTICS Abfrage verwendet werden, sodass die SO_STATISTIC Abfrage bei einem Überlauf die Anwendung darüber informiert, wie viel Arbeitsspeicher benötigt wurde, um einen Überlauf zu verhindern.
D3D11_QUERY_SO_STATISTICS_STREAM0
Rufen Sie Streamingausgabestatistiken für Stream 0 ab, z. B. die Anzahl der Primitiven, die zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End gestreamt wurden. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_SO_STATISTICS-Struktur zurück.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM0
Bestimmt, ob der Stream 0-Ausgabepuffer zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End überläuft oder nicht. ID3D11DeviceContext::GetData gibt eine BOOL zurück – TRUE bedeutet, dass es einen Überlauf gab, FALSE , was bedeutet, dass kein Überlauf aufgetreten ist. Wenn die Streamingausgabe in mehrere Puffer schreibt und einer der Puffer überläuft, wird das Schreiben in alle Ausgabepuffer beendet. Wenn ein Überlauf von Direct3D erkannt wird, wird dies verhindert , da kein Arbeitsspeicher beschädigt ist. Diese Prädication kann in Verbindung mit einer SO_STATISTICS Abfrage verwendet werden, sodass die SO_STATISTIC Abfrage bei einem Überlauf die Anwendung darüber informiert, wie viel Arbeitsspeicher benötigt wurde, um einen Überlauf zu verhindern.
D3D11_QUERY_SO_STATISTICS_STREAM1
Abrufen von Streamingausgabestatistiken für Stream 1, z. B. die Anzahl der Grundtypen, die zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End gestreamt wurden. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_SO_STATISTICS-Struktur zurück.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM1
Bestimmt, ob die Stream 1-Ausgabepuffer zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End überlaufen sind oder nicht. ID3D11DeviceContext::GetData gibt eine BOOL zurück – TRUE bedeutet, dass es einen Überlauf gab, FALSE , was bedeutet, dass kein Überlauf aufgetreten ist. Wenn die Streamingausgabe in mehrere Puffer schreibt und einer der Puffer überläuft, wird das Schreiben in alle Ausgabepuffer beendet. Wenn ein Überlauf von Direct3D erkannt wird, wird dies verhindert , da kein Arbeitsspeicher beschädigt ist. Diese Prädication kann in Verbindung mit einer SO_STATISTICS Abfrage verwendet werden, sodass die SO_STATISTIC Abfrage bei einem Überlauf die Anwendung darüber informiert, wie viel Arbeitsspeicher benötigt wurde, um einen Überlauf zu verhindern.
D3D11_QUERY_SO_STATISTICS_STREAM2
Abrufen von Streamingausgabestatistiken für Stream 2, z. B. die Anzahl der Primitiven, die zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End gestreamt wurden. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_SO_STATISTICS-Struktur zurück.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM2
Bestimmt, ob die Stream 2-Ausgabepuffer zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End überlaufen sind oder nicht. ID3D11DeviceContext::GetData gibt eine BOOL zurück – TRUE bedeutet, dass es einen Überlauf gab, FALSE , was bedeutet, dass kein Überlauf aufgetreten ist. Wenn die Streamingausgabe in mehrere Puffer schreibt und einer der Puffer überläuft, wird das Schreiben in alle Ausgabepuffer beendet. Wenn ein Überlauf von Direct3D erkannt wird, wird dies verhindert , da kein Arbeitsspeicher beschädigt ist. Diese Prädication kann in Verbindung mit einer SO_STATISTICS Abfrage verwendet werden, sodass die SO_STATISTIC Abfrage bei einem Überlauf die Anwendung darüber informiert, wie viel Arbeitsspeicher benötigt wurde, um einen Überlauf zu verhindern.
D3D11_QUERY_SO_STATISTICS_STREAM3
Abrufen von Streamingausgabestatistiken für Stream 3, z. B. die Anzahl der Primitiven, die zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End gestreamt wurden. ID3D11DeviceContext::GetData gibt eine D3D11_QUERY_DATA_SO_STATISTICS-Struktur zurück.
D3D11_QUERY_SO_OVERFLOW_PREDICATE_STREAM3
Bestimmt, ob der Stream 3-Ausgabepuffer zwischen ID3D11DeviceContext::Begin und ID3D11DeviceContext::End überläuft oder nicht. ID3D11DeviceContext::GetData gibt eine BOOL zurück – TRUE bedeutet, dass es einen Überlauf gab, FALSE , was bedeutet, dass kein Überlauf aufgetreten ist. Wenn die Streamingausgabe in mehrere Puffer schreibt und einer der Puffer überläuft, wird das Schreiben in alle Ausgabepuffer beendet. Wenn ein Überlauf von Direct3D erkannt wird, wird dies verhindert , da kein Arbeitsspeicher beschädigt ist. Diese Prädication kann in Verbindung mit einer SO_STATISTICS Abfrage verwendet werden, sodass die SO_STATISTIC Abfrage bei einem Überlauf die Anwendung darüber informiert, wie viel Arbeitsspeicher benötigt wurde, um einen Überlauf zu verhindern.

Hinweise

Erstellen Sie eine Abfrage mit ID3D11Device::CreateQuery.

Anforderungen

Anforderung Wert
Header d3d11.h

Weitere Informationen

Kernaufzählungen