Freigeben über


D3DKMT_PRESENT_STATS Struktur (d3dkmthk.h)

Die D3DKMT_PRESENT_STATS-Struktur beschreibt den aktuellen Status für ein Renderinggerät.

Syntax

typedef struct _D3DKMT_PRESENT_STATS {
  [out] UINT                         PresentCount;
  [out] UINT                         PresentRefreshCount;
  [out] UINT                         SyncRefreshCount;
  [out] D3DKMT_ALIGN64 LARGE_INTEGER SyncQPCTime;
  [out] D3DKMT_ALIGN64 LARGE_INTEGER SyncGPUTime;
} D3DKMT_PRESENT_STATS;

Angehörige

[out] PresentCount

Ein UINT-Wert, der angibt, wie oft der installierbare OpenGL-Clienttreiber (ICD) die D3DKMTPresent-Funktion auf einem Renderinggerät oder einer Swapchain aufgerufen hat. Nachdem der Maximalwert erreicht wurde, beginnt PresentCount- bei Null. Wenn ein neues Renderinggerät erstellt wird, wird PresentCount- auf Null initialisiert. Das Betriebssystem verwaltet einen vorhandenen Zähler für jede swapchain, die erstellt wird.

[out] PresentRefreshCount

Ein UINT-Wert, der angibt, wie oft der Anzeigecontroller einen neuen Videoframe ausgibt, der am Anfang jedes vertikalen Retrace-Zeitraums auftritt. Das Betriebssystem verwaltet einen aktuellen Aktualisierungszähler für jede Ausgabe des Videoanzeigecontrollers im Betriebssystem. PresentRefreshCount- wird in einen nicht angegebenen Wert initialisiert.

[out] SyncRefreshCount

Ein UINT-Wert, der die Anzahl der letzten Erfassung der Anzeigedauerinformationen in den SyncQPCTime- und SyncGPUTime--Member angibt.

[out] SyncQPCTime

Die Computerverarbeitungseinheit (CPU), zu der der aktuelle Videoframe ausgegeben wurde (d. a. die CPU-Zeit, zu der die vertikale Retrace gestartet wurde).

[out] SyncGPUTime

Die GPU-Zeit (Grafikverarbeitungseinheit), zu der der aktuelle Videoframe ausgegeben wurde (d. a. die GPU-Zeit, zu der die vertikale Retrace gestartet wurde).

Bemerkungen

Wenn ein vorhandener Vorgang eingestellt wird, verwaltet das Betriebssystem eine Korrespondenz (Zuordnung) zwischen dem Wert in PresentCount und dem Wert in PresentRefreshCount; d. h., wenn das Betriebssystem einen aktuellen Vorgang als gescannten Videoframe beendet, wird der Wert in PresentRefreshCount, mit dem der aktuelle Vorgang abgeschlossen wurde, dem Wert in PresentCount des eingestellten aktuellen Vorgangs zugeordnet.

Das Betriebssystem verwaltet Anzeigedauerinformationen innerhalb eines Renderinggeräts und ordnet die Anzeigedauerinformationen zu. Wenn die GPU die GPU-Zeit (SyncGPUTime) verwalten kann, wird die GPU-Zeit mit einer gerätespezifischen Frequenz betrieben. Damit Anwendungen GPU-Zeit mit anderen Vorgängen im System in Beziehung setzen können, verwaltet das Betriebssystem eine Übereinstimmung zwischen GPU-Zeit und CPU-Zeit (SyncQPCTime). Wenn die GPU diese GPU-Zeit nicht verwalten kann, behält das Betriebssystem nur CPU-Zeit bei, und die zugeordnete GPU-Zeit ist immer null.

Aktuelle Statistiken können für Geräte im Fenstermodus nicht funktionieren. Für den Fenstermodus wird jedes Strukturelement auf Null festgelegt.

Hinweis Das Betriebssystem aktualisiert möglicherweise nicht die SyncRefreshCount, SyncQPCTimeund SyncGPUTime Member auf jedem Frame.
 

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista
Header- d3dkmthk.h (einschließlich D3dkmthk.h)

Siehe auch

D3DKMTPresent

D3DKMT_DEVICEPRESENT_STATE