| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/GPUQueue | [Back] [Original] |
Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen bersetzt, und kann Fehler enthalten. Erfahre mehr ber dieses Experiment.
Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.
Want more browser support for this feature? Tell us why.
Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen untersttzenden Browsern verfgbar.
Hinweis: Diese Funktion ist in Web Workers verfgbar.
Das GPUQueue-Interface der WebGPU API steuert die Ausfhrung von kodierten Befehlen auf der GPU.
Auf die Hauptwarteschlange eines Gerts wird ber die Eigenschaft GPUDevice.queue zugegriffen.
labelEin String, der ein Label bereitstellt, das verwendet werden kann, um das Objekt zu identifizieren, beispielsweise in GPUError-Nachrichten oder Konsolenwarnungen.
copyExternalImageToTexture()Kopiert eine Momentaufnahme, die von einem Quellbild, Video oder Canvas aufgenommen wurde, in eine gegebene GPUTexture.
onSubmittedWorkDone()Gibt ein Promise zurck, das aufgelst wird, wenn alle Arbeiten, die ber diese GPUQueue zum Zeitpunkt des Aufrufs der Methode an die GPU bergeben wurden, verarbeitet wurden.
submit()Plant die Ausfhrung von Befehls-Puffern, die durch ein oder mehrere GPUCommandBuffer-Objekte dargestellt werden, durch die GPU.
writeBuffer()Schreibt eine bereitgestellte Datenquelle in einen gegebenen GPUBuffer.
writeTexture()Schreibt eine bereitgestellte Datenquelle in eine gegebene GPUTexture.
In unserem grundlegenden Render-Demo definieren wir einige Vertex-Daten in einem Float32Array, die wir verwenden werden, um ein Dreieck zu zeichnen:
const vertices = new Float32Array([
0.0, 0.6, 0, 1, 1, 0, 0, 1, -0.5, -0.6, 0, 1, 0, 1, 0, 1, 0.5, -0.6, 0, 1, 0,
0, 1, 1,
]);
Um diese Daten in einer Render-Pipeline zu verwenden, mssen wir sie in einen GPUBuffer legen. Zuerst erstellen wir den Puffer:
const vertexBuffer = device.createBuffer({
size: vertices.byteLength, // make it big enough to store vertices in
usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
});
Um die Daten in den Puffer zu bekommen, knnen wir die Funktion writeBuffer() verwenden, die es dem Benutzeragenten ermglicht, den effizientesten Weg zu bestimmen, um die Daten zu kopieren:
device.queue.writeBuffer(vertexBuffer, 0, vertices, 0, vertices.length);
Spter wird eine Reihe von Befehlen in einem GPUCommandBuffer mit der Methode GPUCommandEncoder.finish() kodiert. Der Befehls-Puffer wird dann ber einen submit()-Aufruf in die Warteschlange bergeben, bereit zur Verarbeitung durch die GPU.
device.queue.submit([commandEncoder.finish()]);
Hinweis: Studieren Sie die WebGPU-Beispiele, um weitere Beispiele fr Warteschlangen zu finden.
| Spezifikation |
|---|
| WebGPU # gpuqueue |
GPUQueueGPUGPUAdapterGPUAdapterInfoGPUBindGroupGPUBindGroupLayoutGPUBufferGPUCanvasContextGPUCommandBufferGPUCommandEncoderGPUCompilationInfoGPUCompilationMessageGPUComputePassEncoderGPUComputePipelineGPUDeviceGPUDeviceLostInfoGPUErrorGPUExternalTextureGPUInternalErrorGPUOutOfMemoryErrorGPUPipelineErrorGPUPipelineLayoutGPUQuerySetGPURenderBundleGPURenderBundleEncoderGPURenderPassEncoderGPURenderPipelineGPUSamplerGPUShaderModuleGPUSupportedFeaturesGPUSupportedLimitsGPUTextureGPUTextureViewGPUUncapturedErrorEventGPUValidationErrorHTMLCanvasElement.getContext()Navigator.gpuWorkerNavigator.gpuDer Bauplan fr ein besseres Internet.
Teile dieses Inhalts sind 19982026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfgbar unter einer Creative-Commons-Lizenz.
| Web Proxy Viewer | New URL | Original Page |