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

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);

Zugriff auf 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