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.
This extension exposes a new type:
GLuint64EXTUnsigned 64-bit integer number.
This extension exposes seven new constants.
ext.QUERY_COUNTER_BITS_EXTA GLint indicating the number of bits used to hold the query result for the given target.
ext.CURRENT_QUERY_EXTA WebGLQuery object, which is the currently active query for the given target.
ext.QUERY_RESULT_EXTA GLuint64EXT containing the query result.
ext.QUERY_RESULT_AVAILABLE_EXTA GLboolean indicating whether or not a query result is available.
ext.TIME_ELAPSED_EXTElapsed time (in nanoseconds).
ext.TIMESTAMP_EXTThe current time.
ext.GPU_DISJOINT_EXTA GLboolean indicating whether or not the GPU performed any disjoint operation.
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.
const ext = gl.getExtension("EXT_disjoint_timer_query");
| Specification |
|---|
| WebGL EXT_disjoint_timer_query Extension Specification> |
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | WebView Android | WebView on iOS | |
EXT_disjoint_timer_query |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
beginQueryEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
createQueryEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
deleteQueryEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
endQueryEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
getQueryEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
getQueryObjectEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
isQueryEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
queryCounterEXT |
70Only supported on macOS.47–65Removed due to the GLitch exploit. |
79Only supported on macOS. |
51–59Removed due to the GLitch exploit. |
57Only supported on macOS.34–52Removed due to the GLitch exploit. |
No | 47–65Removed due to the GLitch exploit. |
No | 34–47Removed due to the GLitch exploit. |
No | 5.0–9.0Removed due to the GLitch exploit. |
47–65Removed due to the GLitch exploit. |
No |
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/EXT_disjoint_timer_query