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 擴充套件規範

瀏覽器相容性

另見