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. EXT_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
GLintindicating the number of bits used to hold the query result for the given target. ext.CURRENT_QUERY_EXT- A
WebGLQueryobject, which is the currently active query for the given target. ext.QUERY_RESULT_EXT- A
GLuint64EXTcontaining the query result. ext.QUERY_RESULT_AVAILABLE_EXT- A
GLbooleanindicating 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
GLbooleanindicating 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
trueif a given object is aWebGLQuery. ext.beginQueryEXT()- The timer starts when all commands prior to
beginQueryEXThave been fully executed. ext.endQueryEXT()- The timer stops when all commands prior to
endQueryEXThave 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
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
EXT_disjoint_timer_query | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
beginQueryEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
createQueryEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
deleteQueryEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
endQueryEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
getQueryEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
getQueryObjectEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
isQueryEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
queryCounterEXT | Chrome
No support
47 — 65
| Edge
No support
No
| Firefox
No support
51 — 63
| IE ? | Opera ? | Safari ? | WebView Android
No support
47 — 65
| Chrome Android
No support
47 — 65
| Firefox Android No support No | Opera Android ? | Safari iOS ? | Samsung Internet Android
No support
5.0 — 9.0
|
Legend
- No support
- No support
- Compatibility unknown
- Compatibility unknown
- See implementation notes.
- See implementation notes.
