Movatterモバイル変換


[0]ホーム

URL:


  1. Web
  2. Web-APIs
  3. GPUDevice

Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.

View in EnglishAlways switch to English

GPUDevice

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 insicheren Kontexten (HTTPS) in einigen oder allenunterstützenden Browsern verfügbar.

Hinweis: Diese Funktion ist inWeb Workers verfügbar.

DasGPUDevice Interface derWebGPU-API repräsentiert ein logisches GPU-Gerät. Dies ist das Hauptinterface, über das die Mehrheit der WebGPU-Funktionalität zugegriffen wird.

EinGPUDevice-Objekt wird mit der MethodeGPUAdapter.requestDevice() angefordert.

EventTarget GPUDevice

Instanzeigenschaften

Erbt Eigenschaften von seinem Elternteil,EventTarget.

adapterInfoSchreibgeschützt

EinGPUAdapterInfo-Objekt, das identifizierende Informationen über den Adapter des Geräts enthält.

featuresSchreibgeschützt

EinGPUSupportedFeatures-Objekt, das zusätzliche Funktionalität beschreibt, die vom Gerät unterstützt wird.

label

Ein String, der ein Label bereitstellt, das verwendet werden kann, um das Objekt zu identifizieren, zum Beispiel inGPUError-Nachrichten oder Konsolenwarnungen.

limitsSchreibgeschützt

EinGPUSupportedLimits-Objekt, das die Grenzen beschreibt, die von dem Gerät unterstützt werden.

lostSchreibgeschützt

Enthält einPromise, das während der gesamten Lebensdauer des Geräts ausstehend bleibt und mit einemGPUDeviceLostInfo-Objekt aufgelöst wird, wenn das Gerät verloren geht.

queueSchreibgeschützt

Gibt die primäreGPUQueue für das Gerät zurück.

Instanzmethoden

Erbt Methoden von seinem Elternteil,EventTarget.

createBindGroup()

Erstellt eineGPUBindGroup basierend auf einemGPUBindGroupLayout, das eine Reihe von Ressourcen definiert, die in einer Gruppe zusammengebunden werden und wie diese Ressourcen in Shader-Stufen verwendet werden.

createBindGroupLayout()

Erstellt einGPUBindGroupLayout, das die Struktur und den Zweck von verwandten GPU-Ressourcen wie Buffern definiert, die in einer Pipeline verwendet werden, und wird als Vorlage beim Erstellen vonGPUBindGroups verwendet.

createBuffer()

Erstellt einenGPUBuffer, um rohe Daten zu speichern, die in GPU-Operationen verwendet werden.

createCommandEncoder()

Erstellt einenGPUCommandEncoder, der verwendet wird, um Befehle zu codieren, die an die GPU ausgegeben werden sollen.

createComputePipeline()

Erstellt eineGPUComputePipeline, die die Compute-Shader-Stufe steuern kann und in einemGPUComputePassEncoder verwendet werden kann.

createComputePipelineAsync()

Gibt einPromise zurück, das sich mit einerGPUComputePipeline erfüllt, die die Compute-Shader-Stufe steuern kann und in einemGPUComputePassEncoder verwendet werden kann, sobald die Pipeline ohne Verzögerung verwendet werden kann.

createPipelineLayout()

Erstellt einGPUPipelineLayout, das dieGPUBindGroupLayouts definiert, die von einer Pipeline verwendet werden.GPUBindGroups, die mit der Pipeline während der Befehlscodierung verwendet werden, müssen kompatibleGPUBindGroupLayouts haben.

createQuerySet()

Erstellt einGPUQuerySet, das verwendet werden kann, um die Ergebnisse von Anfragen zu Passes aufzuzeichnen, wie z.B. Okklusions- oder Zeitstempelanfragen.

createRenderBundleEncoder()

Erstellt einenGPURenderBundleEncoder, der verwendet werden kann, um Bündel von Befehlen im Voraus zu kodieren. Diese können inGPURenderPassEncoders mittels derexecuteBundles()-Methode wiederverwendet werden, so oft wie nötig.

createRenderPipeline()

Erstellt eineGPURenderPipeline, die die Vertex- und Fragment-Shader-Stufen steuern kann und in einemGPURenderPassEncoder oderGPURenderBundleEncoder verwendet werden kann.

createRenderPipelineAsync()

Gibt einPromise zurück, das sich mit einerGPURenderPipeline erfüllt, die die Vertex- und Fragment-Shader-Stufen steuern kann und in einemGPURenderPassEncoder oderGPURenderBundleEncoder verwendet werden kann, sobald die Pipeline ohne Verzögerung verwendet werden kann.

createSampler()

Erstellt einenGPUSampler, der steuert, wie Shader Textur-Ressourcendaten transformieren und filtern.

createShaderModule()

Erstellt einGPUShaderModule aus einem String von WGSL-Quellcode.

createTexture()

Erstellt eineGPUTexture, um Texturdaten zu speichern, die in GPU-Rendering-Operationen verwendet werden.

destroy()

Zerstört das Gerät und verhindert weitere Operationen darauf.

importExternalTexture()

Nimmt einHTMLVideoElement als Eingabe und gibt einGPUExternalTexture-Wrapper-Objekt zurück, das einen Schnappschuss des Videos enthält und in GPU-Rendering-Operationen verwendet werden kann.

popErrorScope()

Entfernt einen bestehenden GPU-Error-Scope aus dem Error-Scope-Stack und gibt einPromise zurück, das sich zu einem Objekt (GPUInternalError,GPUOutOfMemoryError oderGPUValidationError) auflöst, das den ersten im Scope erfassten Fehler beschreibt, odernull falls kein Fehler aufgetreten ist.

pushErrorScope()

Fügt einen neuen GPU-Error-Scope zum Error-Scope-Stack des Geräts hinzu, damit Sie Fehler eines bestimmten Typs erfassen können.

Ereignisse

uncapturederror

Wird ausgelöst, wenn ein Fehler auftritt, der von einem GPU-Error-Scope nicht beobachtet wurde, um eine Möglichkeit zu bieten, unerwartete Fehler zu melden. Bekannte Fehlerfälle sollten mitpushErrorScope() undpopErrorScope() behandelt werden.

Beispiele

js
async function init() {  if (!navigator.gpu) {    throw Error("WebGPU not supported.");  }  const adapter = await navigator.gpu.requestAdapter();  if (!adapter) {    throw Error("Couldn't request WebGPU adapter.");  }  const device = await adapter.requestDevice();  const shaderModule = device.createShaderModule({    code: shaders,  });  // …}

Sehen Sie sich die einzelnen oben aufgelisteten Mitgliederseiten und die folgenden Demoseiten für viel mehr Beispiele zur Verwendung vonGPUDevice an:

Spezifikationen

Specification
WebGPU
# gpudevice

Browser-Kompatibilität

Siehe auch

Help improve MDN

Learn how to contribute Diese Seite wurde automatisch aus dem Englischen übersetzt.

[8]ページ先頭

©2009-2026 Movatter.jp