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

js
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

js
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

Browser-Kompatibilität

Siehe auch