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()-
返回查詢物件的狀態。
示例
const ext = gl.getExtension("EXT_disjoint_timer_query");
規範
| 規範 |
|---|
| WebGL EXT_disjoint_timer_query 擴充套件規範 |
瀏覽器相容性
載入中…