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.
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 dispatchWorkgroups()-Methode der GPUComputePassEncoder-Schnittstelle dispatcht ein spezifisches Raster von Arbeitsgruppen, um die Arbeit auszuführen, die vom aktuellen GPUComputePipeline (d.h. festgelegt durch GPUComputePassEncoder.setPipeline()) erledigt wird.
Die X-Dimension des Rasters der zu dispatchenden Arbeitsgruppen.
workgroupCountY OptionalDie Y-Dimension des Rasters der zu dispatchenden Arbeitsgruppen. Wird dieser Parameter weggelassen, ist der Standardwert für workgroupCountY 1.
workgroupCountZ OptionalDie Z-Dimension des Rasters der zu dispatchenden Arbeitsgruppen. Wird dieser Parameter weggelassen, ist der Standardwert für workgroupCountZ 1.
Hinweis: Die an dispatchWorkgroups() und GPUComputePassEncoder.dispatchWorkgroupsIndirect() übergebenen X-, Y- und Z-Dimensionswerte entsprechen der Anzahl der zu dispatchenden Arbeitsgruppen pro Dimension, nicht der Anzahl der Shader-Aufrufe, die über jede Dimension ausgeführt werden sollen. Dies entspricht dem Verhalten moderner nativer GPU-APIs, unterscheidet sich jedoch vom Verhalten von OpenCL. Das bedeutet, wenn ein GPUShaderModule einen Einstiegspunkt mit @workgroup_size(4, 4) definiert und die Arbeit mit dem Aufruf passEncoder.dispatchWorkgroups(8, 8); dispatcht wird, wird der Einstiegspunkt insgesamt 1024 Mal aufgerufen — Es wird eine 4 x 4 Arbeitsgruppe 8 Mal entlang beider Achsen X und Y dispatcht. 4 * 4 * 8 * 8 = 1024.
Keiner (Undefined).
Die folgenden Kriterien müssen erfüllt sein, wenn dispatchWorkgroups() aufgerufen wird. Andernfalls wird ein GPUValidationError generiert und der GPUComputePassEncoder wird ungültig:
In unserem Grundlegenden Compute-Demo werden mehrere Befehle über einen GPUCommandEncoder aufgezeichnet. Die meisten dieser Befehle stammen vom GPUComputePassEncoder, der über beginComputePass() erstellt wurde.
Am Anfang des Codes setzen wir eine globale Puffergröße von 1000. Beachten Sie auch, dass die Arbeitsgruppengröße im Shader auf 64 gesetzt ist.
Später im Code wird der dispatchWorkgroups()-Parameter workgroupCountX basierend auf der globalen Puffergröße und der Arbeitsgruppengröße des Shaders festgelegt.
| WebGPU # dom-gpucomputepassencoder-dispatchworkgroups |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Besuche die gemeinnützige Muttergesellschaft der Mozilla Corporation, die Mozilla Foundation.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.