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 扩展规范 |
浏览器兼容性
加载中…