WebGL2RenderingContext: Methode clientWaitSync()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2021.

Hinweis: Dieses Feature ist verfügbar in Web Workers.

Die WebGL2RenderingContext.clientWaitSync() Methode der WebGL 2 API blockiert und wartet, bis ein WebGLSync-Objekt signalisiert wird oder ein angegebener Timeout abgelaufen ist.

Syntax

js
clientWaitSync(sync, flags, timeout)

Parameter

sync

Ein WebGLSync-Objekt, auf das gewartet wird.

flags

Ein GLbitfield, das eine bitweise Kombination von Flags angibt, die das Flush-Verhalten steuern. Kann gl.SYNC_FLUSH_COMMANDS_BIT sein.

timeout

Ein GLint64, der einen Timeout (in Nanosekunden) angibt, für den auf das Signalisieren des Sync-Objekts gewartet wird. Darf nicht größer als gl.MAX_CLIENT_WAIT_TIMEOUT_WEBGL sein.

Rückgabewert

Ein GLenum, das den Status des Sync-Objekts anzeigt.

  • gl.ALREADY_SIGNALED: Zeigt an, dass das Sync-Objekt signalisiert war, als diese Methode aufgerufen wurde.
  • gl.TIMEOUT_EXPIRED: Zeigt an, dass die timeout-Zeit verstrichen ist und das Sync-Objekt nicht signalisiert wurde.
  • gl.CONDITION_SATISFIED: Zeigt an, dass das Sync-Objekt signalisiert wurde, bevor der timeout abgelaufen ist.
  • gl.WAIT_FAILED: Zeigt an, dass während der Ausführung ein Fehler aufgetreten ist.

Beispiele

js
const sync = gl.fenceSync(gl.SYNC_GPU_COMMANDS_COMPLETE, 0);
const status = gl.clientWaitSync(sync, 0, 0);

Spezifikationen

Specification
WebGL 2.0 Specification
# 3.7.14

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch