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 über die GPUDevice.adapterInfo
-Eigenschaft eines Geräts, das von diesem Adapter stammt, abgerufen werden.
Dieses Objekt ermöglicht es Entwicklern, spezifische Details über die GPU des Nutzers zuzugreifen, damit sie proaktiv Umgehungen für GPU-spezifische Fehler anwenden oder unterschiedliche Codepfade bereitstellen können, um besser auf verschiedene GPU-Architekturen abgestimmt zu sein. Das Bereitstellen solcher Informationen stellt ein Sicherheitsrisiko dar — es könnte für das Fingerprinting genutzt werden — daher werden die geteilten Informationen auf ein Minimum beschränkt, und verschiedene Browser-Anbieter teilen wahrscheinlich unterschiedliche Informationstypen und Granularitäten.
Instanzeigenschaften
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-
Ein menschenlesbarer String, der 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 Adapterherstellers. Gibt einen leeren String zurück, wenn es nicht verfügbar ist.
subgroupMaxSize
Experimentell Schreibgeschützt-
Die maximale unterstützte Untergruppengröße für den
GPUAdapter
. subgroupMinSize
Experimentell Schreibgeschützt-
Die minimale unterstützte Untergruppengröße für den
GPUAdapter
.
Beispiele
Zugang zu 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);
Zugang zu 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 |