Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das GPUCommandEncoder-Interface der WebGPU API repräsentiert einen Befehlscodierer, der verwendet wird, um Befehle zu kodieren, die an die GPU gesendet werden sollen.
Ein String, der eine Bezeichnung bereitstellt, die verwendet werden kann, um das Objekt zu identifizieren, beispielsweise in GPUError-Meldungen oder Konsolenwarnungen.
Beginnt eine Debug-Gruppe, die mit einer spezifischen Bezeichnung markiert wird und alle nachfolgenden kodierten Befehle bis zur Ausführung einer popDebugGroup()-Methode enthält.
Kodiert einen Befehl, der einen Zeitstempel in ein GPUQuerySet schreibt, sobald die vorhergehenden Befehle, die in den gleichen GPUCommandBuffer eingereiht wurden, von der GPU ausgeführt wurden.
In unserem grundlegenden Render-Demo werden mehrere Befehle über einen GPUCommandEncoder aufgezeichnet:
js
// ...// Create GPUCommandEncoderconst commandEncoder = device.createCommandEncoder();// Create GPURenderPassDescriptor to tell WebGPU which texture to draw into, then initiate render passconst 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 von dem GPUCommandEncoder kodierten Befehle werden mithilfe der Methode GPUCommandEncoder.finish() in einem GPUCommandBuffer aufgezeichnet. Der Befehlsbuffer wird dann über einen submit()-Aufruf in die Warteschlange übergeben, bereit zur Verarbeitung durch die GPU.
js
device.queue.submit([commandEncoder.finish()]);
Hinweis:
Studieren Sie die WebGPU-Beispiele, um mehr Beispiele zur Befehlskodierung zu finden.
Tip: you can click/tap on a cell for more information.
Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
Non-standard. Check cross-browser support before using.
Deprecated. Not for use in new websites.
See implementation notes.
User must explicitly enable this feature.
Has more compatibility info.
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.