GPUAdapter: features-Eigenschaft

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.

Die features Eigenschaft des schreibgeschützten GPUAdapter-Interfaces gibt ein GPUSupportedFeatures-Objekt zurück, das zusätzliche Funktionalität beschreibt, die vom Adapter unterstützt wird.

Es sollte beachtet werden, dass nicht alle Funktionen in WebGPU in allen unterstützenden Browsern verfügbar sein werden, selbst wenn diese Funktionen von der zugrunde liegenden Hardware unterstützt werden. Dies könnte auf Einschränkungen des zugrunde liegenden Systems, des Browsers oder des Adapters zurückzuführen sein. Zum Beispiel:

  • Das zugrunde liegende System kann möglicherweise die Bereitstellung einer Funktion auf eine Weise garantieren, die mit einem bestimmten Browser kompatibel ist.
  • Der Browseranbieter hat möglicherweise keinen sicheren Weg gefunden, um die Unterstützung für diese Funktion zu implementieren, oder hat es einfach noch nicht geschafft.

Wenn Sie hoffen, eine bestimmte zusätzliche Funktion in einer WebGPU-Anwendung nutzen zu können, sind gründliche Tests ratsam.

Wert

Ein GPUSupportedFeatures-Objektinstanz. Dies ist ein setähnliches Objekt.

Beispiele

Im folgenden Code überprüfen wir, ob ein GPUAdapter die Funktion texture-compression-astc verfügbar hat. Falls ja, fügen wir es in das Array der requiredFeatures ein und fordern ein Gerät mit dieser Funktionsanforderung an, indem wir GPUAdapter.requestDevice() verwenden.

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 requiredFeatures = [];

  if (adapter.features.has("texture-compression-astc")) {
    requiredFeatures.push("texture-compression-astc");
  }

  const device = await adapter.requestDevice({
    requiredFeatures,
  });

  // ...
}

Spezifikationen

Specification
WebGPU
# dom-gpuadapter-features

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
features
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
Partial support
Partial support
In development. Supported in a pre-release version.
In development. Supported in a pre-release version.
No support
No support
Experimental. Expect behavior to change in the future.
See implementation notes.
User must explicitly enable this feature.
Has more compatibility info.

Siehe auch