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 is available to both, WebGL1 and WebGL 2 contexts.

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

Interfaces

This extension exposes one new interface.

WebGLTimerQueryEXT
A timer query object.

Methods

This extension exposes eight new methods.

ext.createQueryEXT()

Creates a new WebGLTimerQueryEXT.

ext.deleteQueryEXT()

Deletes a given WebGLTimerQueryEXT.

ext.isQueryEXT()

Returns true if a given object is a WebGLTimerQueryEXT.

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 Working Draft Initial definition.

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support 47 41 (41) [1] ? ? ?
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support ? 47 ? ? ? ?

[1] Toggling the webgl.enable-draft-extensions preference in about:config is required.

See also

Document Tags and Contributors

 Contributors to this page: fscholz
 Last updated by: fscholz,