GPUQueue
        
        
          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 in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.
Hinweis: Diese Funktion ist in Web Workers verfügbar.
Das GPUQueue-Interface der WebGPU API steuert die Ausführung von kodierten Befehlen auf der GPU.
Auf die Hauptwarteschlange eines Geräts wird über die Eigenschaft GPUDevice.queue zugegriffen.
Instanzeigenschaften
Instanzmethoden
copyExternalImageToTexture()- 
Kopiert eine Momentaufnahme, die von einem Quellbild, Video oder Canvas aufgenommen wurde, in eine gegebene
GPUTexture. onSubmittedWorkDone()- 
Gibt ein
Promisezurück, das aufgelöst wird, wenn alle Arbeiten, die über dieseGPUQueuezum Zeitpunkt des Aufrufs der Methode an die GPU übergeben wurden, verarbeitet wurden. submit()- 
Plant die Ausführung von Befehls-Puffern, die durch ein oder mehrere
GPUCommandBuffer-Objekte dargestellt werden, durch die GPU. writeBuffer()- 
Schreibt eine bereitgestellte Datenquelle in einen gegebenen
GPUBuffer. writeTexture()- 
Schreibt eine bereitgestellte Datenquelle in eine gegebene
GPUTexture. 
Beispiele
In unserem grundlegenden Render-Demo definieren wir einige Vertex-Daten in einem Float32Array, die wir verwenden werden, um ein Dreieck zu zeichnen:
const vertices = new Float32Array([
  0.0, 0.6, 0, 1, 1, 0, 0, 1, -0.5, -0.6, 0, 1, 0, 1, 0, 1, 0.5, -0.6, 0, 1, 0,
  0, 1, 1,
]);
Um diese Daten in einer Render-Pipeline zu verwenden, müssen wir sie in einen GPUBuffer legen. Zuerst erstellen wir den Puffer:
const vertexBuffer = device.createBuffer({
  size: vertices.byteLength, // make it big enough to store vertices in
  usage: GPUBufferUsage.VERTEX | GPUBufferUsage.COPY_DST,
});
Um die Daten in den Puffer zu bekommen, können wir die Funktion writeBuffer() verwenden, die es dem Benutzeragenten ermöglicht, den effizientesten Weg zu bestimmen, um die Daten zu kopieren:
device.queue.writeBuffer(vertexBuffer, 0, vertices, 0, vertices.length);
Später wird eine Reihe von Befehlen in einem GPUCommandBuffer mit der Methode GPUCommandEncoder.finish() kodiert. Der Befehls-Puffer wird dann über einen submit()-Aufruf in die Warteschlange übergeben, bereit zur Verarbeitung durch die GPU.
device.queue.submit([commandEncoder.finish()]);
Hinweis: Studieren Sie die WebGPU-Beispiele, um weitere Beispiele für Warteschlangen zu finden.
Spezifikationen
| Specification | 
|---|
| WebGPU> # gpuqueue>  | 
            
Browser-Kompatibilität
Loading…
Siehe auch
- Die WebGPU API