EXT_disjoint_timer_query: getQueryObjectEXT() 方法
EXT_disjoint_timer_query.getQueryObjectEXT()
方法是 WebGL API 的一部分,用于返回查询对象的狀態。
语法
js
getQueryObjectEXT(query, pname)
参数
query
-
要从中返回信息的
WebGLQuery
对象。 pname
-
一个
GLenum
,指定要返回的信息。必须是ext.QUERY_RESULT_EXT
或ext.QUERY_RESULT_AVAILABLE_EXT
。
返回值
取决于 pname
- 如果
pname
是ext.QUERY_RESULT_EXT
:一个包含查询结果的GLuint64EXT
。 - 如果
pname
是ext.QUERY_RESULT_AVAILABLE_EXT
:一个GLboolean
,指示查询结果是否可用。
示例
js
const ext = gl.getExtension("EXT_disjoint_timer_query");
const query = ext.createQueryEXT();
ext.beginQueryEXT(ext.TIME_ELAPSED_EXT, query);
// Draw
ext.endQueryEXT(ext.TIME_ELAPSED_EXT);
// At some point in the future, after returning control to the browser
const available = ext.getQueryObjectEXT(query, ext.QUERY_RESULT_AVAILABLE_EXT);
const disjoint = gl.getParameter(ext.GPU_DISJOINT_EXT);
if (available && !disjoint) {
// See how much time the rendering of the object took in nanoseconds.
const timeElapsed = ext.getQueryObjectEXT(query, ext.QUERY_RESULT_EXT);
}
规范
规范 |
---|
WebGL EXT_disjoint_timer_query 扩展规范 |
浏览器兼容性
BCD 表格仅在启用了 JavaScript 的浏览器中加载。