Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. GPUDevice
  4. createBuffer()

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

GPUDevice: createBuffer() 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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DiecreateBuffer()-Methode desGPUDevice-Interfaces erstellt einGPUBuffer, in dem Rohdaten gespeichert werden, die in GPU-Operationen verwendet werden sollen.

Syntax

js
createBuffer(descriptor)

Parameter

descriptor

Ein Objekt, das die folgenden Eigenschaften enthält:

labelOptional

Ein String, der ein Label bereitstellt, das zur Identifizierung des Objekts verwendet werden kann, zum Beispiel inGPUError-Nachrichten oder Konsolenwarnungen.

mappedAtCreationOptional

Ein Boolean. Wenn auftrue gesetzt, wird der Buffer bei der Erstellung abgebildet, was bedeutet, dass Sie die Werte innerhalb des Buffers sofort festlegen können, indem SieGPUBuffer.getMappedRange() aufrufen. Der Standardwert istfalse.

Beachten Sie, dass es gültig ist,mappedAtCreation: true zu setzen, um die anfänglichen Daten des Buffers festzulegen, selbst wenn dieGPUBufferUsage.MAP_READ oderGPUBufferUsage.MAP_WRITE Nutzungsflags nicht gesetzt sind.

size

Eine Zahl, die die Größe des Buffers in Bytes darstellt. WennmappedAtCreation auftrue gesetzt ist, muss dies ein Vielfaches von4 sein.

usage

Diebitweisen Flags, die die erlaubten Nutzungen für denGPUBuffer darstellen. Die möglichen Werte sind in derGPUBuffer.usage Werte-Tabelle aufgeführt.

Beachten Sie, dass mehrere mögliche Nutzungen angegeben werden können, indem Werte mitbitwise OR getrennt werden, zum Beispiel:GPUBufferUsage.COPY_SRC | GPUBufferUsage.MAP_WRITE.

Rückgabewert

EineGPUBuffer-Objektinstanz.

Ausnahmen

RangeErrorDOMException

Wird ausgelöst, wennmappedAtCreation auftrue gesetzt ist und die angegebenesize kein Vielfaches von4 ist.

Validierung

Die folgenden Kriterien müssen erfüllt sein, wenncreateBuffer() aufgerufen wird. Andernfalls wird einGPUValidationError erzeugt und ein ungültigesGPUBuffer-Objekt zurückgegeben:

  • Eine gültigeusage ist angegeben.
  • GPUBufferUsage.MAP_READ ist angegeben, und es sind keine zusätzlichen Flags außerGPUBufferUsage.COPY_DST angegeben.
  • GPUBufferUsage.MAP_WRITE ist angegeben, und es sind keine zusätzlichen Flags außerGPUBufferUsage.COPY_SRC angegeben.

Hinweis:Wenn die Pufferzuordnung ohne spezifische Nebeneffekte fehlschlägt, wird einGPUOutOfMemoryError-Objekt erzeugt.

Beispiele

In unseremgrundlegenden Berechnungs-Demo erstellen wir einen Ausgabepuffer, um GPU-Berechnungen zu lesen, und einen Staging-Puffer, der für den Zugriff durch JavaScript abgebildet wird.

js
const output = device.createBuffer({  size: BUFFER_SIZE,  usage: GPUBufferUsage.STORAGE | GPUBufferUsage.COPY_SRC,});const stagingBuffer = device.createBuffer({  size: BUFFER_SIZE,  usage: GPUBufferUsage.MAP_READ | GPUBufferUsage.COPY_DST,});

Spezifikationen

Specification
WebGPU
# dom-gpudevice-createbuffer

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp