WebGL2RenderingContext: clientWaitSync() 方法

基线 广泛可用

此功能已相当成熟,并在许多设备和浏览器版本中都能正常使用。自 2021 年 9 月.

报告反馈

语法

WebGL2RenderingContext.clientWaitSync()WebGL 2 API 中的一种方法,它会阻塞并等待一个 WebGLSync 对象发出信号,或者等待预定的超时时间过去。
clientWaitSync(sync, flags, timeout)

js

参数

sync

要等待的 WebGLSync 对象。

flags

一个 GLbitfield,指定控制刷新行为的标志的按位组合。可以是 gl.SYNC_FLUSH_COMMANDS_BIT

timeout

一个 GLint64,指定等待同步对象发出信号的超时时间(以纳秒为单位)。不得大于 gl.MAX_CLIENT_WAIT_TIMEOUT_WEBGL

返回值

  • 一个 GLenum,表示同步对象的状态。
  • gl.ALREADY_SIGNALED:表示调用此方法时,同步对象已发出信号。
  • gl.TIMEOUT_EXPIRED:表示 timeout 时间已过,但同步对象未发出信号。
  • gl.CONDITION_SATISFIED:表示在 timeout 时间到期之前,同步对象已发出信号。

示例

WebGL2RenderingContext.clientWaitSync()WebGL 2 API 中的一种方法,它会阻塞并等待一个 WebGLSync 对象发出信号,或者等待预定的超时时间过去。
const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);
const status = gl.clientWaitSync(sync, 0, 0);

规范

gl.WAIT_FAILED:表示执行期间发生错误。
规范
# 3.7.14

浏览器兼容性

WebGL 2.0 规范

另请参阅