EXT_disjoint_timer_query-Erweiterung

Die EXT_disjoint_timer_query-Erweiterung ist Teil der WebGL API und bietet eine Möglichkeit, die Dauer einer Reihe von GL-Befehlen zu messen, ohne die Rendering-Pipeline zu blockieren.

WebGL-Erweiterungen sind mit der Methode WebGLRenderingContext.getExtension() verfügbar. Für weitere Informationen siehe Verwendung von Erweiterungen im WebGL-Tutorial.

Hinweis: Diese Erweiterung sollte nur in WebGL1-Kontexten verfügbar sein. EXT_disjoint_timer_query_webgl2 ist in WebGL 2-Kontexten verfügbar.

In WebGL 2 wird die OpenGL-Methode getQueryObject() in WebGL2RenderingContext.getQueryParameter umbenannt. In WebGL 2 sind andere Abfragen (wie Okklusionsabfragen und Primärabfragen) mit WebGLQuery-Objekten möglich.

Typen

Diese Erweiterung führt einen neuen Typ ein:

GLuint64EXT

Unsigned 64-Bit-Ganzzahl.

Konstanten

Diese Erweiterung führt sieben neue Konstanten ein.

ext.QUERY_COUNTER_BITS_EXT

Ein GLint, der die Anzahl der Bits angibt, die verwendet werden, um das Abfrageergebnis für das gegebene Ziel zu speichern.

ext.CURRENT_QUERY_EXT

Ein WebGLQuery-Objekt, das die derzeit aktive Abfrage für das gegebene Ziel ist.

ext.QUERY_RESULT_EXT

Ein GLuint64EXT, das das Abfrageergebnis enthält.

ext.QUERY_RESULT_AVAILABLE_EXT

Ein GLboolean, das angibt, ob ein Abfrageergebnis verfügbar ist oder nicht.

ext.TIME_ELAPSED_EXT

Verstrichene Zeit (in Nanosekunden).

ext.TIMESTAMP_EXT

Die aktuelle Zeit.

ext.GPU_DISJOINT_EXT

Ein GLboolean, das angibt, ob die GPU irgendeine disjunkte Operation ausgeführt hat.

Instanzmethoden

Diese Erweiterung führt acht neue Methoden ein.

ext.createQueryEXT()

Erstellt eine neue WebGLQuery.

ext.deleteQueryEXT()

Löscht eine gegebene WebGLQuery.

ext.isQueryEXT()

Gibt true zurück, wenn ein gegebenes Objekt eine gültige WebGLQuery ist.

ext.beginQueryEXT()

Der Timer startet, wenn alle Befehle vor beginQueryEXT vollständig ausgeführt wurden.

ext.endQueryEXT()

Der Timer stoppt, wenn alle Befehle vor endQueryEXT vollständig ausgeführt wurden.

ext.queryCounterEXT()

Nimmt die aktuelle Zeit in das entsprechende Abfrageobjekt auf.

ext.getQueryEXT()

Gibt Informationen über ein Abfrageziel zurück.

ext.getQueryObjectEXT()

Gibt den Status eines Abfrageobjekts zurück.

Beispiele

js
const ext = gl.getExtension("EXT_disjoint_timer_query");

Spezifikationen

Specification
WebGL EXT_disjoint_timer_query Extension Specification

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch