EXT_disjoint_timer_query: getQueryObjectEXT() 方法

EXT_disjoint_timer_query.getQueryObjectEXT() 方法是 WebGL API 的一部分,用于返回查询对象的狀態。

语法

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 扩展规范

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

另请参阅