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 valid 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

js
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

See also