GPUAdapterInfo
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 GPUAdapterInfo
-Interface der WebGPU API enthält identifizierende Informationen über einen GPUAdapter
.
Die GPUAdapterInfo
eines Adapters kann über die GPUAdapter.info
-Eigenschaft des Adapters selbst oder die GPUDevice.adapterInfo
-Eigenschaft eines Geräts, das vom Adapter stammt, abgerufen werden.
Dieses Objekt ermöglicht es Entwicklern, spezifische Details über die GPU des Benutzers abzurufen, damit sie proaktiv Workarounds für GPU-spezifische Fehler anwenden oder unterschiedliche Codepfade bereitstellen können, die besser zu verschiedenen GPU-Architekturen passen. Die Bereitstellung solcher Informationen stellt ein Sicherheitsrisiko dar — sie könnte für das Fingerprinting genutzt werden — daher werden die geteilten Informationen auf ein Minimum beschränkt, und verschiedene Browseranbieter teilen wahrscheinlich unterschiedliche Informationstypen und Granularitäten.
Instanz-Eigenschaften
architecture
Schreibgeschützt-
Der Name der Familie oder Klasse von GPUs, zu der der Adapter gehört. Gibt einen leeren String zurück, wenn es nicht verfügbar ist.
description
Schreibgeschützt-
Eine lesbare Zeichenkette, die den Adapter beschreibt. Gibt einen leeren String zurück, wenn es nicht verfügbar ist.
device
Schreibgeschützt-
Eine herstellerspezifische Kennung für den Adapter. Gibt einen leeren String zurück, wenn es nicht verfügbar ist.
vendor
Schreibgeschützt-
Der Name des Adapter-Herstellers. Gibt einen leeren String zurück, wenn es nicht verfügbar ist.
subgroupMaxSize
Schreibgeschützt-
Die maximal unterstützte Subgruppen-Größe für den
GPUAdapter
. subgroupMinSize
Schreibgeschützt-
Die minimal unterstützte Subgruppen-Größe für den
GPUAdapter
.
Beispiele
Zugriff auf GPUAdapterInfo über GPUAdapter.info
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
const adapterInfo = adapter.info;
console.log(adapterInfo.vendor);
console.log(adapterInfo.architecture);
Zugriff auf GPUAdapterInfo über GPUDevice.adapterInfo
const adapter = await navigator.gpu.requestAdapter();
if (!adapter) {
throw Error("Couldn't request WebGPU adapter.");
}
const myDevice = await adapter.requestDevice();
function optimizeForGpuDevice(device) {
if (device.adapterInfo.vendor === "amd") {
// Use AMD-specific optimizations
} else if (device.adapterInfo.architecture.includes("turing")) {
// Optimize for NVIDIA Turing architecture
}
}
optimizeForGpuDevice(myDevice);
Spezifikationen
Specification |
---|
WebGPU # gpu-adapterinfo |