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 (nur lesbar) des GPUAdapter
-Interfaces gibt ein GPUSupportedFeatures
-Objekt zurück, das zusätzliche Funktionalitäten beschreibt, die vom Adapter unterstützt werden.
Es sollte beachtet werden, dass nicht alle Funktionen in jedem Browser, der WebGPU unterstützt, verfügbar sein werden, selbst wenn die Funktionen von der zugrunde liegenden Hardware unterstützt werden. Dies kann durch Einschränkungen im zugrunde liegenden System, im Browser oder im Adapter verursacht werden. Beispielsweise:
- Das zugrunde liegende System könnte die Bereitstellung einer Funktion nicht in einer Weise garantieren, die mit einem bestimmten Browser kompatibel ist.
- Der Browser-Anbieter hat möglicherweise keinen sicheren Weg gefunden, um die Unterstützung für diese Funktion zu implementieren, oder hat es einfach noch nicht umgesetzt.
Wenn Sie hoffen, in einer WebGPU-Anwendung eine bestimmte zusätzliche Funktion zu nutzen, wird eine gründliche Prüfung empfohlen.
Wert
Eine Instanz des GPUSupportedFeatures
-Objekts. Dies ist ein setähnliches Objekt.
Beispiele
Im folgenden Code überprüfen wir, ob ein GPUAdapter
die texture-compression-astc
-Funktion zur Verfügung hat. Wenn ja, fügen wir sie dem Array der requiredFeatures
hinzu und fordern ein Gerät mit dieser Funktionsanforderung an, indem wir GPUAdapter.requestDevice()
verwenden.
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
Siehe auch
- Die WebGPU API