EXT_disjoint_timer_query-Erweiterung
Eingeschränkt verfügbar
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
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
truezurück, wenn ein gegebenes Objekt eine gültigeWebGLQueryist. ext.beginQueryEXT()-
Der Timer startet, wenn alle Befehle vor
beginQueryEXTvollständig ausgeführt wurden. ext.endQueryEXT()-
Der Timer stoppt, wenn alle Befehle vor
endQueryEXTvollstä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
const ext = gl.getExtension("EXT_disjoint_timer_query");
Spezifikationen
| Spezifikation |
|---|
| WebGL EXT_disjoint_timer_query Extension Specification> |