EXT_disjoint_timer_query extension
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
The EXT_disjoint_timer_query extension is part of the WebGL API and provides a way to measure the duration of a set of GL commands, without stalling the rendering pipeline.
WebGL extensions are available using the WebGLRenderingContext.getExtension()
method. For more information, see also Using Extensions in the WebGL tutorial.
Note:
This extension should be available in WebGL1 contexts only. EXT_disjoint_timer_query_webgl2
is available in WebGL 2 contexts.
In WebGL 2, the OpenGL method getQueryObject()
is renamed to WebGL2RenderingContext.getQueryParameter
.
In WebGL 2, other queries (such as occlusion queries and primitive queries) are possible using WebGLQuery
objects.
Types
This extension exposes a new type:
GLuint64EXT
-
Unsigned 64-bit integer number.
Constants
This extension exposes seven new constants.
ext.QUERY_COUNTER_BITS_EXT
-
A
GLint
indicating the number of bits used to hold the query result for the given target. ext.CURRENT_QUERY_EXT
-
A
WebGLQuery
object, which is the currently active query for the given target. ext.QUERY_RESULT_EXT
-
A
GLuint64EXT
containing the query result. ext.QUERY_RESULT_AVAILABLE_EXT
-
A
GLboolean
indicating whether or not a query result is available. ext.TIME_ELAPSED_EXT
-
Elapsed time (in nanoseconds).
ext.TIMESTAMP_EXT
-
The current time.
ext.GPU_DISJOINT_EXT
-
A
GLboolean
indicating whether or not the GPU performed any disjoint operation.
Instance methods
This extension exposes eight new methods.
ext.createQueryEXT()
-
Creates a new
WebGLQuery
. ext.deleteQueryEXT()
-
Deletes a given
WebGLQuery
. ext.isQueryEXT()
-
Returns
true
if a given object is a validWebGLQuery
. ext.beginQueryEXT()
-
The timer starts when all commands prior to
beginQueryEXT
have been fully executed. ext.endQueryEXT()
-
The timer stops when all commands prior to
endQueryEXT
have been fully executed. ext.queryCounterEXT()
-
Records the current time into the corresponding query object.
ext.getQueryEXT()
-
Returns information about a query target.
ext.getQueryObjectEXT()
-
Return the state of a query object.
Examples
const ext = gl.getExtension("EXT_disjoint_timer_query");
Specifications
Specification |
---|
WebGL EXT_disjoint_timer_query Extension Specification |
Browser compatibility
BCD tables only load in the browser