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
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 imArrayBuffer
darstellt. Wirdoffset
weggelassen, wird standardmäßig 0 verwendet. size
Optional-
Eine Zahl, die die Größe in Bytes des zurückzugebenden
ArrayBuffer
darstellt. Wirdsize
weggelassen, erstreckt sich der Bereich bis zum Ende desGPUBuffer
-abgebildeten Bereichs.
Rückgabewert
Ein ArrayBuffer
.
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 aktivengetMappedRange()
-Aufrufen angegeben werden.
Ausnahmen
TypeError
DOMException
-
Wird ausgelöst, wenn versucht wird, den
ArrayBuffer
auf andere Weise als überGPUBuffer.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
- Die WebGPU API