Start · Sprachen · JavaScript · Referenz · GPUAdapterInfo.description

GPUAdapterInfo.description

Eigenschaft

Liefert eine für Menschen lesbare Beschreibung des GPU-Adapters als String oder einen leeren String, wenn der Browser diese Angabe nicht preisgibt.

seit JavaScript WebGPU: Chrome/Edge 113+, Safari 26+, Firefox 141+ Kategorie: webapi

Signatur

GPUAdapterInfo.description

Beschreibung

Die schreibgeschützte Eigenschaft description eines GPUAdapterInfo-Objekts enthält einen Klartext, der den physischen oder virtuellen Grafikadapter beschreibt, zum Beispiel "NVIDIA GeForce RTX 3070" oder "ANGLE (Apple, Apple M1, OpenGL 4.1)". Ist diese Information nicht verfügbar oder wird sie aus Datenschutzgründen zurückgehalten, ist der Wert ein leerer String "".

An das GPUAdapterInfo-Objekt kommen Sie über die Eigenschaft GPUAdapter.info. Ältere Implementierungen boten stattdessen die asynchrone Methode GPUAdapter.requestAdapterInfo() an. Den Adapter selbst erhalten Sie mit navigator.gpu.requestAdapter().

Gedacht ist description vor allem für Diagnose, Logging und Fehlerberichte, etwa um in einem Absturzbericht festzuhalten, auf welcher Hardware ein Rendering-Fehler aufgetreten ist. Für Programmlogik wie Feature-Erkennung oder Leistungsstufen eignet sich die Eigenschaft nicht: Format und Inhalt sind nicht standardisiert und können je nach Browser, Treiber und Betriebssystem unterschiedlich ausfallen. Für Programmlogik sind GPUAdapter.features und GPUAdapter.limits die richtige Wahl.

Rückgabewert

Typ
string
Beschreibung
Eine vom Browser festgelegte, für Menschen lesbare Beschreibung des Adapters oder ein leerer String "", wenn sie nicht verfügbar ist.

Beispiele

Adapterbeschreibung auslesen

const zeigeAdapter = async () => {
  if (!navigator.gpu) {
    console.log('WebGPU wird nicht unterstützt.');
    return;
  }
  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    console.log('Kein passender GPU-Adapter gefunden.');
    return;
  }
  const { description } = adapter.info;
  console.log(description || '(keine Beschreibung verfügbar)');
};

zeigeAdapter();
NVIDIA GeForce RTX 3070 // oder: (keine Beschreibung verfügbar)

Kompatibel mit älteren Browsern (requestAdapterInfo)

const holeAdapterInfo = async (adapter) => {
  // Neuere Browser: synchrone Eigenschaft info
  if (adapter.info) return adapter.info;
  // Ältere Chrome-Versionen: asynchrone Methode
  if (typeof adapter.requestAdapterInfo === 'function') {
    return adapter.requestAdapterInfo();
  }
  return null;
};

const adapter = await navigator.gpu?.requestAdapter();
if (adapter) {
  const info = await holeAdapterInfo(adapter);
  console.log('Beschreibung:', info?.description ?? 'unbekannt');
}
Beschreibung: ANGLE (Apple, Apple M1, OpenGL 4.1)

Hardware-Angaben für einen Fehlerbericht sammeln

const erstelleDiagnose = async () => {
  const adapter = await navigator.gpu?.requestAdapter({ powerPreference: 'high-performance' });
  if (!adapter) return { webgpu: false };

  const { vendor, architecture, device, description } = adapter.info;
  return {
    webgpu: true,
    vendor: vendor || 'unbekannt',
    architecture: architecture || 'unbekannt',
    device: device || 'unbekannt',
    description: description || 'unbekannt',
    maxTextureDimension2D: adapter.limits.maxTextureDimension2D
  };
};

console.log(JSON.stringify(await erstelleDiagnose(), null, 2));
{ "webgpu": true, "vendor": "nvidia", "architecture": "ampere", "device": "unbekannt", "description": "unbekannt", "maxTextureDimension2D": 16384 }

// Wichtig · Fallstricke

  • Häufig leer: Viele Browser liefern für description (und device) aus Datenschutzgründen einen leeren String, weil detaillierte Hardware-Angaben für Browser-Fingerprinting missbraucht werden können. Ihr Code muss mit "" rechnen.
  • Nicht für Programmlogik nutzen: Der Inhalt ist nicht standardisiert und hängt von Browser und Treiber ab. Leiten Sie daraus keine Feature- oder Leistungsentscheidungen ab, sondern verwenden Sie adapter.features und adapter.limits.
  • API-Änderung: GPUAdapter.requestAdapterInfo() ist veraltet und wurde durch die synchrone Eigenschaft GPUAdapter.info ersetzt (Chrome 127+). Für ältere Versionen ist ein Fallback sinnvoll.
  • Kompatibilität: WebGPU ist nur in sicheren Kontexten (HTTPS) verfügbar. Chrome/Edge unterstützen es ab Version 113 (Linux teilweise erst später), Safari ab 26, Firefox ab 141 zunächst nur unter Windows. Prüfen Sie vorher immer, ob navigator.gpu vorhanden ist.
  • Die Eigenschaft ist schreibgeschützt. Zuweisungen werden ignoriert oder lösen im Strict Mode einen TypeError aus.