我们的志愿者还没有将这篇文章翻译为 中文 (简体)。加入我们帮助完成翻译!
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 aWebGLTimerQueryEXT
. 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.