webgl extension
EXT_disjoint_timer_query extension
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 getExtension() method. For more information, see also Using Extensions in the WebGL tutorial.
[!NOTE] This extension should be available in
WebGL1contexts only.EXT_disjoint_timer_query_webgl2is available inWebGL 2contexts.In WebGL 2, the OpenGL method
getQueryObject()is renamed togetQueryParameter. In WebGL 2, other queries (such as occlusion queries and primitive queries) are possible usingWebGLQueryobjects.
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
GLintindicating the number of bits used to hold the query result for the given target.
- : A
ext.CURRENT_QUERY_EXT- : A
WebGLQueryobject, which is the currently active query for the given target.
- : A
ext.QUERY_RESULT_EXT- : A
GLuint64EXTcontaining the query result.
- : A
ext.QUERY_RESULT_AVAILABLE_EXT- : A
GLbooleanindicating whether or not a query result is available.
- : A
ext.TIME_ELAPSED_EXT- : Elapsed time (in nanoseconds).
ext.TIMESTAMP_EXT- : The current time.
ext.GPU_DISJOINT_EXT- : A
GLbooleanindicating whether or not the GPU performed any disjoint operation.
- : A
Instance methods
This extension exposes eight new methods.
ext.createQueryEXT()- : Creates a new
WebGLQuery.
- : Creates a new
ext.deleteQueryEXT()- : Deletes a given
WebGLQuery.
- : Deletes a given
ext.isQueryEXT()- : Returns
trueif a given object is a validWebGLQuery.
- : Returns
ext.beginQueryEXT()- : The timer starts when all commands prior to
beginQueryEXThave been fully executed.
- : The timer starts when all commands prior to
ext.endQueryEXT()- : The timer stops when all commands prior to
endQueryEXThave been fully executed.
- : The timer stops when all commands prior to
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");