Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. GPUCommandEncoder

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

GPUCommandEncoder

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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DieGPUCommandEncoder-Schnittstelle derWebGPU API stellt einen Encoder dar, der eine Sequenz von GPU-Befehlen sammelt, die an die GPU gesendet werden sollen.

EineGPUCommandEncoder-Objektinstanz wird über die EigenschaftGPUDevice.createCommandEncoder() erstellt.

Instanzeigenschaften

label

Ein String, der ein Label bereitstellt, das verwendet werden kann, um das Objekt zu identifizieren, beispielsweise inGPUError-Meldungen oder Konsolenwarnungen.

Instanzmethoden

beginComputePass()

Beginnt die Kodierung eines Compute-Passes und gibt einenGPUComputePassEncoder zurück, der zur Steuerung der Berechnung verwendet werden kann.

beginRenderPass()

Beginnt die Kodierung eines Render-Passes und gibt einenGPURenderPassEncoder zurück, der zur Steuerung des Renderings verwendet werden kann.

clearBuffer()

Kodiert einen Befehl, der einen Bereich einesGPUBuffer mit Nullen füllt.

copyBufferToBuffer()

Kodiert einen Befehl, der Daten von einemGPUBuffer in einen anderen kopiert.

copyBufferToTexture()

Kodiert einen Befehl, der Daten von einemGPUBuffer in eineGPUTexture kopiert.

copyTextureToBuffer()

Kodiert einen Befehl, der Daten von einerGPUTexture in einenGPUBuffer kopiert.

copyTextureToTexture()

Kodiert einen Befehl, der Daten von einerGPUTexture in eine andere kopiert.

finish()

Beendet die Aufzeichnung der auf diesemGPUCommandEncoder kodierten Befehlssequenz und gibt einen entsprechendenGPUCommandBuffer zurück.

insertDebugMarker()

Markiert einen bestimmten Punkt in einer Reihe von kodierten Befehlen mit einem Label.

popDebugGroup()

Beendet eine Debug-Gruppe, die mit einem Aufruf vonpushDebugGroup() begonnen wurde.

pushDebugGroup()

Beginnt eine Debug-Gruppe, die mit einem angegebenen Label markiert wird und alle folgenden kodierten Befehle bis zur AufrufmethodepopDebugGroup() enthält.

resolveQuerySet()

Kodiert einen Befehl, der einenGPUQuerySet auflöst und die Ergebnisse in einen angegebenenGPUBuffer kopiert.

writeTimestamp()Nicht standardisiertVeraltet

Kodiert einen Befehl, der einen Zeitstempel in einenGPUQuerySet schreibt, sobald die vorherigen Befehle, die in denselben in die Warteschlange gestelltenGPUCommandBuffer aufgezeichnet wurden, von der GPU ausgeführt wurden.

Beispiele

In unseremGrundlegenden Render-Demo werden mehrere Befehle über einenGPUCommandEncoder 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 trianglepassEncoder.setPipeline(renderPipeline);passEncoder.setVertexBuffer(0, vertexBuffer);passEncoder.draw(3);// End the render passpassEncoder.end();// …

Die vomGPUCommandEncoder kodierten Befehle werden unter Verwendung der MethodeGPUCommandEncoder.finish() in einenGPUCommandBuffer aufgezeichnet. Der Befehlsbuffer wird dann über einen Aufruf vonsubmit() in die Warteschlange übergeben und kann von der GPU verarbeitet werden.

js
device.queue.submit([commandEncoder.finish()]);

Hinweis:Studieren Sie dieWebGPU-Beispiele, um weitere Beispiele zur Befehlsenkodierung zu finden.

Spezifikationen

Specification
WebGPU
# gpucommandencoder

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2025 Movatter.jp