EXT_disjoint_timer_query

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.

Availability: This extension should be available in WebGL1 contexts only. disjoint_timer_query_webgl2 is available in WebGL 2 contexts .

In WebGL 2, the getQueryObject was renamed to 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.

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 WebGLQuery.

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

var ext = gl.getExtension('EXT_disjoint_timer_query');

Specifications

Specification Status Comment
EXT_disjoint_timer_query
The definition of 'EXT_disjoint_timer_query' in that specification.
Working Draft Initial definition.

Browser compatibility

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
beginQueryEXT4751.0(No)???
createQueryEXT4751.0(No)???
deleteQueryEXT4751.0(No)???
endQueryEXT4751.0(No)???
getQueryEXT4751.0(No)???
getQueryObjectEXT4751.0(No)???
isQueryEXT4751.0(No)???
queryCounterEXT4751.0(No)???
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
beginQueryEXT?47(No)(No)???
createQueryEXT?47(No)(No)???
deleteQueryEXT?47(No)(No)???
endQueryEXT?47(No)(No)???
getQueryEXT?47(No)(No)???
getQueryObjectEXT?47(No)(No)???
isQueryEXT?47(No)(No)???
queryCounterEXT?47(No)(No)???

See also

Document Tags and Contributors

 Contributors to this page: fscholz, chrisdavidmills, Wandalen, nmve, teoli
 Last updated by: fscholz,