| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/de/docs/Web/API/GPUCommandEncoder | [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.
Die GPUCommandEncoder-Schnittstelle der WebGPU API stellt einen Encoder dar, der eine Sequenz von GPU-Befehlen sammelt, die an die GPU gesendet werden sollen.
Eine GPUCommandEncoder-Objektinstanz wird ber die Eigenschaft GPUDevice.createCommandEncoder() erstellt.
labelEin String, der ein Label bereitstellt, das verwendet werden kann, um das Objekt zu identifizieren, beispielsweise in GPUError-Meldungen oder Konsolenwarnungen.
beginComputePass()Beginnt die Kodierung eines Compute-Passes und gibt einen GPUComputePassEncoder zurck, der zur Steuerung der Berechnung verwendet werden kann.
beginRenderPass()Beginnt die Kodierung eines Render-Passes und gibt einen GPURenderPassEncoder zurck, der zur Steuerung des Renderings verwendet werden kann.
clearBuffer()Kodiert einen Befehl, der einen Bereich eines GPUBuffer mit Nullen fllt.
copyBufferToBuffer()Kodiert einen Befehl, der Daten von einem GPUBuffer in einen anderen kopiert.
copyBufferToTexture()Kodiert einen Befehl, der Daten von einem GPUBuffer in eine GPUTexture kopiert.
copyTextureToBuffer()Kodiert einen Befehl, der Daten von einer GPUTexture in einen GPUBuffer kopiert.
copyTextureToTexture()Kodiert einen Befehl, der Daten von einer GPUTexture in eine andere kopiert.
finish()Beendet die Aufzeichnung der auf diesem GPUCommandEncoder kodierten Befehlssequenz und gibt einen entsprechenden GPUCommandBuffer zurck.
insertDebugMarker()Markiert einen bestimmten Punkt in einer Reihe von kodierten Befehlen mit einem Label.
popDebugGroup()Beendet eine Debug-Gruppe, die mit einem Aufruf von pushDebugGroup() begonnen wurde.
pushDebugGroup()Beginnt eine Debug-Gruppe, die mit einem angegebenen Label markiert wird und alle folgenden kodierten Befehle bis zur Aufrufmethode popDebugGroup() enthlt.
resolveQuerySet()Kodiert einen Befehl, der einen GPUQuerySet auflst und die Ergebnisse in einen angegebenen GPUBuffer kopiert.
writeTimestamp() Kodiert einen Befehl, der einen Zeitstempel in einen GPUQuerySet schreibt, sobald die vorherigen Befehle, die in denselben in die Warteschlange gestellten GPUCommandBuffer aufgezeichnet wurden, von der GPU ausgefhrt wurden.
In unserem Grundlegenden Render-Demo werden mehrere Befehle ber einen GPUCommandEncoder aufgezeichnet:
//
// 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 vom GPUCommandEncoder kodierten Befehle werden unter Verwendung der Methode GPUCommandEncoder.finish() in einen GPUCommandBuffer aufgezeichnet. Der Befehlsbuffer wird dann ber einen Aufruf von submit() in die Warteschlange bergeben und kann von der GPU verarbeitet werden.
device.queue.submit([commandEncoder.finish()]);
Hinweis: Studieren Sie die WebGPU-Beispiele, um weitere Beispiele zur Befehlsenkodierung zu finden.
| Spezifikation |
|---|
| WebGPU # gpucommandencoder |
GPUCommandEncoderGPUGPUAdapterGPUAdapterInfoGPUBindGroupGPUBindGroupLayoutGPUBufferGPUCanvasContextGPUCommandBufferGPUCompilationInfoGPUCompilationMessageGPUComputePassEncoderGPUComputePipelineGPUDeviceGPUDeviceLostInfoGPUErrorGPUExternalTextureGPUInternalErrorGPUOutOfMemoryErrorGPUPipelineErrorGPUPipelineLayoutGPUQuerySetGPUQueueGPURenderBundleGPURenderBundleEncoderGPURenderPassEncoderGPURenderPipelineGPUSamplerGPUShaderModuleGPUSupportedFeaturesGPUSupportedLimitsGPUTextureGPUTextureViewGPUUncapturedErrorEventGPUValidationErrorHTMLCanvasElement.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 |