EXT_disjoint_timer_query 擴充套件

可用性有限

此特性不是基線特性,因為它在一些最廣泛使用的瀏覽器中不起作用。

EXT_disjoint_timer_query 擴充套件是 WebGL API 的一部分,它提供了一種在不阻塞渲染管線的情況下測量一組 GL 命令持續時間的方法。

可以使用 WebGLRenderingContext.getExtension() 方法來訪問 WebGL 擴充套件。有關更多資訊,請參閱 WebGL 教程中的 使用擴充套件

注意: 此擴充套件僅在 WebGL1 上下文中可用。在 WebGL 2 上下文中可使用 EXT_disjoint_timer_query_webgl2

在 WebGL 2 中,OpenGL 方法 getQueryObject() 已重新命名為 WebGL2RenderingContext.getQueryParameter。在 WebGL 2 中,可以使用 WebGLQuery 物件實現其他查詢(如遮擋查詢和圖元查詢)。

型別

此擴充套件公開了一種新的型別

GLuint64EXT

無符號 64 位整數。

常量

此擴充套件公開了七個新常量。

ext.QUERY_COUNTER_BITS_EXT

一個 GLint,指示用於儲存給定目標的查詢結果的位數。

ext.CURRENT_QUERY_EXT

一個 WebGLQuery 物件,它是給定目標的當前活動查詢。

ext.QUERY_RESULT_EXT

一個 GLuint64EXT,包含查詢結果。

ext.QUERY_RESULT_AVAILABLE_EXT

一個 GLboolean,指示查詢結果是否可用。

ext.TIME_ELAPSED_EXT

經過的時間(以納秒為單位)。

ext.TIMESTAMP_EXT

當前時間。

ext.GPU_DISJOINT_EXT

一個 GLboolean,指示 GPU 是否執行了任何不相關操作。

例項方法

此擴充套件公開了八個新方法。

ext.createQueryEXT()

建立一個新的 WebGLQuery

ext.deleteQueryEXT()

刪除給定的 WebGLQuery

ext.isQueryEXT()

如果給定物件是有效的 WebGLQuery,則返回 true

ext.beginQueryEXT()

計時器在 beginQueryEXT 之前的所有命令都已完全執行時開始。

ext.endQueryEXT()

計時器在 endQueryEXT 之前的所有命令都已完全執行時停止。

ext.queryCounterEXT()

將當前時間記錄到相應的查詢物件中。

ext.getQueryEXT()

返回有關查詢目標的資訊。

ext.getQueryObjectEXT()

返回查詢物件的狀態。

示例

js
const ext = gl.getExtension("EXT_disjoint_timer_query");

規範

規範
WebGL EXT_disjoint_timer_query 擴充套件規範

瀏覽器相容性

另見