EXT_disjoint_timer_query-Erweiterung
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
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
| Specification |
|---|
| WebGL EXT_disjoint_timer_query Extension Specification> |
Browser-Kompatibilität
Loading…