Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. GPUQueue
  4. submit()

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

View in EnglishAlways switch to English

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

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

Diesubmit()-Methode desGPUQueue-Interfaces plant die Ausführung von Befehls-Puffern, die durch ein oder mehrereGPUCommandBuffer-Objekte dargestellt werden, durch die GPU.

Syntax

js
submit(commandBuffers)

Parameter

commandBuffers

Ein Array vonGPUCommandBuffer-Objekten, das die Befehle enthält, die zur Verarbeitung durch die GPU in die Warteschlange eingespeist werden sollen. Das Array darf keine doppeltenGPUCommandBuffer-Objekte enthalten — jedes kann nur einmal prosubmit()-Aufruf übergeben werden.

Rückgabewert

Keiner (Undefined).

Validierung

Die folgenden Kriterien müssen beim Aufruf vonsubmit() erfüllt werden, andernfalls wird einGPUValidationError erzeugt und dieGPUQueue wird ungültig:

  • Das Array vonGPUCommandBuffer-Objekten, das imsubmit()-Aufruf referenziert wird, darf keine Duplikate enthalten.
  • AlleGPUBuffer-,GPUTexture- undGPUQuerySet-Objekte, die in den codierten Befehlen verwendet werden, müssen verfügbar sein, d.h. sie dürfen nicht als nicht verfügbar (so sindGPUBuffer nicht verfügbar, wenn sie derzeitgemappt sind) oder zerstört (mit derdestroy()-Methode) markiert sein.
  • AlleGPUExternalTexture-Objekte, die in den codierten Befehlen verwendet werden, dürfen nicht abgelaufen sein (sie laufen automatisch kurz nach dem Import überimportExternalTexture() ab).
  • Wenn einGPUQuerySet-Objekt in einem codierten Befehl vom Typ"occlusion"-Abfrage ist, darf es nicht bereits verwendet sein, es sei denn, es wird vonGPURenderPassEncoder.beginOcclusionQuery() genutzt.

Beispiele

In unseremeinfachen Render-Demo werden eine Reihe von Befehlen ü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 Befehle, die vomGPUCommandEncoder kodiert wurden, werden mit derGPUCommandEncoder.finish()-Methode in einemGPUCommandBuffer aufgenommen. Der Befehls-Puffer wird dann über einensubmit()-Aufruf in die Warteschlange übergeben und ist bereit, von der GPU verarbeitet zu werden.

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

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

Spezifikationen

Specification
WebGPU
# dom-gpuqueue-submit

Browser-Kompatibilität

Siehe auch

Help improve MDN

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

[8]ページ先頭

©2009-2026 Movatter.jp