GPUDevice: createCommandEncoder()-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 createCommandEncoder()
-Methode der GPUDevice
-Schnittstelle erstellt einen GPUCommandEncoder
, der verwendet wird, um Befehle zu kodieren, die an die GPU übermittelt werden sollen.
Syntax
createCommandEncoder()
createCommandEncoder(descriptor)
Parameter
descriptor
Optional-
Ein Objekt, das die folgenden Eigenschaften enthält:
label
Optional-
Ein String, der ein Label bereitstellt, das zur Identifizierung des Objekts verwendet werden kann, beispielsweise in
GPUError
-Nachrichten oder Konsolenwarnungen.
Rückgabewert
Eine Instanz des GPUCommandEncoder
-Objekts.
Beispiele
In unserem Grundlagendemonstrationsprojekt zur Wiedergabe werden mehrere Befehle über einen GPUCommandEncoder
aufgezeichnet, der über createCommandEncoder()
erstellt wurde:
// …
// Create GPUCommandEncoder
const commandEncoder = device.createCommandEncoder();
// Create GPURenderPassDescriptor to tell WebGPU which texture to draw into, then initiate render pass
const renderPassDescriptor = {
colorAttachments: [
{
clearValue: clearColor,
loadOp: "clear",
storeOp: "store",
view: context.getCurrentTexture().createView(),
},
],
};
const passEncoder = commandEncoder.beginRenderPass(renderPassDescriptor);
// Draw a triangle
passEncoder.setPipeline(renderPipeline);
passEncoder.setVertexBuffer(0, vertexBuffer);
passEncoder.draw(3);
// End the render pass
passEncoder.end();
// …
Die durch den GPUCommandEncoder
kodierten Befehle werden mithilfe der GPUCommandEncoder.finish()
-Methode in einem GPUCommandBuffer
aufgenommen. Der Befehls-Puffer wird dann mittels eines submit()
-Aufrufs in die Warteschlange übergeben und ist bereit, von der GPU verarbeitet zu werden.
device.queue.submit([commandEncoder.finish()]);
Hinweis: Studieren Sie die WebGPU-Beispiele, um weitere Beispiele zur Befehlsenkodierung zu finden.
Spezifikationen
Specification |
---|
WebGPU # dom-gpudevice-createcommandencoder |
Browser-Kompatibilität
Siehe auch
- Die WebGPU API