GPUBuffer: getMappedRange() Methode

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist in Web Workers verfügbar.

Die getMappedRange() Methode des GPUBuffer-Interfaces gibt einen ArrayBuffer zurück, der den abgebildeten Inhalt des GPUBuffer im angegebenen Bereich enthält.

Dies kann nur geschehen, nachdem der GPUBuffer erfolgreich mit GPUBuffer.mapAsync() abgebildet wurde (dies kann über GPUBuffer.mapState überprüft werden). Solange der GPUBuffer abgebildet ist, kann er in keinem GPU-Befehl verwendet werden.

Wenn Sie mit den GPUBuffer-Werten fertig sind, rufen Sie GPUBuffer.unmap() auf, um es zu entabilden und wieder für die GPU zugänglich zu machen.

Syntax

js
getMappedRange()
getMappedRange(offset)
getMappedRange(offset, size)

Parameter

offset Optional

Eine Zahl, die den Versatz in Bytes vom Anfang des GPUBuffer-abgebildeten Bereichs bis zum Anfang des zurückzugebenden Bereichs im ArrayBuffer darstellt. Wird offset weggelassen, wird standardmäßig 0 verwendet.

size Optional

Eine Zahl, die die Größe in Bytes des zurückzugebenden ArrayBuffer darstellt. Wird size weggelassen, erstreckt sich der Bereich bis zum Ende des GPUBuffer-abgebildeten Bereichs.

Rückgabewert

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenn getMappedRange() aufgerufen wird, andernfalls wird ein OperationError DOMException ausgelöst:

  • offset ist ein Vielfaches von 8.
  • Der gesamte Bereich, der abgebildet werden soll (size, wenn angegeben, oder abgebildete Bereichslänge - offset, wenn nicht), ist ein Vielfaches von 4.
  • Der gesamte Bereich liegt innerhalb der Grenzen des abgebildeten Bereichs und überschneidet sich nicht mit den ArrayBuffer-Bereichen, die von anderen aktiven getMappedRange()-Aufrufen angegeben werden.

Ausnahmen

TypeError DOMException

Wird ausgelöst, wenn versucht wird, den ArrayBuffer auf andere Weise als über GPUBuffer.unmap() zu lösen.

Beispiele

Ein Beispiel finden Sie auf der Hauptseite von GPUBuffer.

Spezifikationen

Specification
WebGPU
# dom-gpubuffer-getmappedrange

Browser-Kompatibilität

Siehe auch