GPUDevice: createCommandEncoder()-Methode
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.
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 codieren, die an die GPU gesendet werden sollen.
Syntax
createCommandEncoder()
createCommandEncoder(descriptor)
Parameter
descriptor
Optional-
Ein Objekt, das die folgenden Eigenschaften enthält:
label
Optional-
Ein String, der eine Bezeichnung bereitstellt, die verwendet werden kann, um das Objekt zu identifizieren, z. B. in
GPUError
-Nachrichten oder Konsolenwarnungen.
Rückgabewert
Eine Instanz eines GPUCommandEncoder
-Objekts.
Beispiele
In unserem Grundlegenden Render-Demo 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 von dem GPUCommandEncoder
codierten Befehle werden mit der GPUCommandEncoder.finish()
-Methode in einem GPUCommandBuffer
aufgezeichnet. Der Befehls-Buffer wird dann über einen submit()
-Aufruf in die Warteschlange übergeben, damit er von der GPU verarbeitet werden kann.
device.queue.submit([commandEncoder.finish()]);
Hinweis: Studieren Sie die WebGPU-Beispiele, um weitere Beispiele zur Befehlscodierung zu finden.
Spezifikationen
Specification |
---|
WebGPU # dom-gpudevice-createcommandencoder |
Browser-Kompatibilität
BCD tables only load in the browser
Siehe auch
- Die WebGPU-API