Esta página ha sido traducida del inglés por la comunidad. Aprende más y únete a la comunidad de MDN Web Docs.

View in English Always switch to English

GPU

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Contexto seguro: Esta función está disponible solo en contextos seguros (HTTPS), en algunos o todos los navegadores que lo soportan.

Nota: Esta característica está disponible en Web Workers.

La interfaz GPU de la API de WebGPU es el punto de entrada para usar WebGPU. Se puede usar para devolver un GPUAdapter desde el cual puedes solicitar dispositivos, configurar características, límites y más.

El objeto GPU para el contexto actual se accede mediante las propiedades Navigator.gpu o WorkerNavigator.gpu.

Propiedades de la instancia

wgslLanguageFeatures Read only

Un objeto WGSLLanguageFeatures que reporta las extensiones del lenguaje WGSL soportadas por la implementación de WebGPU.

Métodos de la instancia

requestAdapter()

Devuelve una Promise que se resuelve con una instancia del objeto GPUAdapter. Desde aquí puedes solicitar un GPUDevice, que es la interfaz principal para usar la funcionalidad de WebGPU.

getPreferredCanvasFormat()

Devuelve el formato óptimo de textura para el canvas para renderizar contenido de 8 bits y rango dinámico estándar en el sistema actual.

Ejemplos

Solicitar un adaptador y un dispositivo

js
async function init() {
  if (!navigator.gpu) {
    throw Error("WebGPU no está soportado.");
  }

  const adapter = await navigator.gpu.requestAdapter();
  if (!adapter) {
    throw Error("No se pudo solicitar un adaptador de WebGPU.");
  }

  const device = await adapter.requestDevice();

  // …
}

Configurar un GPUCanvasContext con el formato de textura óptimo

js
const canvas = document.querySelector("#gpuCanvas");
const context = canvas.getContext("webgpu");

context.configure({
  device,
  format: navigator.gpu.getPreferredCanvasFormat(),
  alphaMode: "premultiplied",
});

Especificaciones

Specification
WebGPU
# gpu-interface

Compatibilidad con navegadores

Véase también