EXT_disjoint_timer_query

我们的志愿者还没有将这篇文章翻译为 中文 (简体)加入我们帮助完成翻译!
您也可以阅读此文章的English (US)版。

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

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

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

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
createQueryEXT47 No51.0 ? ? ?
deleteQueryEXT47 No51.0 ? ? ?
isQueryEXT47 No51.0 ? ? ?
beginQueryEXT47 No51.0 ? ? ?
endQueryEXT47 No51.0 ? ? ?
queryCounterEXT47 No51.0 ? ? ?
getQueryEXT47 No51.0 ? ? ?
getQueryObjectEXT47 No51.0 ? ? ?
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
createQueryEXT ?47 No No ? ? ?
deleteQueryEXT ?47 No No ? ? ?
isQueryEXT ?47 No No ? ? ?
beginQueryEXT ?47 No No ? ? ?
endQueryEXT ?47 No No ? ? ?
queryCounterEXT ?47 No No ? ? ?
getQueryEXT ?47 No No ? ? ?
getQueryObjectEXT ?47 No No ? ? ?

See also

文档标签和贡献者