GPU

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

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 GPU-Interface der WebGPU API ist der Ausgangspunkt für die Verwendung von WebGPU. Es kann verwendet werden, um einen GPUAdapter zurückzugeben, von dem aus Sie Geräte anfordern, Funktionen und Limits konfigurieren und mehr tun können.

Das GPU-Objekt für den aktuellen Kontext wird über die Eigenschaften Navigator.gpu oder WorkerNavigator.gpu aufgerufen.

Instanzeigenschaften

wgslLanguageFeatures Experimentell Schreibgeschützt

Ein WGSLLanguageFeatures-Objekt, das die von der WebGPU-Implementierung unterstützten WGSL-Spracherweiterungen meldet.

Instanzmethoden

requestAdapter() Experimentell

Gibt ein Promise zurück, das mit einer GPUAdapter-Objektinstanz erfüllt wird. Von diesem können Sie ein GPUDevice anfordern, welches die primäre Schnittstelle für die Nutzung von WebGPU-Funktionalitäten ist.

getPreferredCanvasFormat() Experimentell

Gibt das optimale Texturformat für die Anzeige von 8-Bit-Tiefe und Standard-Dynamikbereich-Inhalten auf dem aktuellen System zurück.

Beispiele

Anfordern eines Adapters und eines Geräts

js
async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU not supported.");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("Couldn't request WebGPU adapter.");
  }

  const device = await adapter.requestDevice();

  // …
}

Konfiguration eines GPUCanvasContext mit dem optimalen Texturformat

js
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");

context.configure({
  device: device,
  format: navigator.gpu.getPreferredCanvasFormat(),
  alphaMode: "premultiplied",
});

Spezifikationen

Specification
WebGPU
# gpu-interface

Browser-Kompatibilität

Siehe auch