EXT_disjoint_timer_query: getQueryObjectEXT() 方法

可用性有限

此特性不是基线特性,因为它在一些最广泛使用的浏览器中不起作用。

WebGL APIEXT_disjoint_timer_query.getQueryObjectEXT() 方法用于返回一个查询对象的状态。

语法

js
getQueryObjectEXT(query, pname)

参数

query

要从中返回信息的 WebGLQuery 对象。

pname

一个 GLenum,用于指定要返回的信息。必须是 ext.QUERY_RESULT_EXText.QUERY_RESULT_AVAILABLE_EXT

返回值

取决于 pname

  • 如果 pnameext.QUERY_RESULT_EXT:一个包含查询结果的 GLuint64EXT
  • 如果 pnameext.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 扩展规范

浏览器兼容性

另见