Descripción general de WebGPU

François Beaufort
François Beaufort

WebGPU es una API de gráficos web que ofrece beneficios significativos, como una carga de trabajo de JavaScript muy reducida para los mismos gráficos y mejoras más de tres veces en las inferencias de modelos de aprendizaje automático. Esto es posible gracias a la programación flexible de la GPU y al acceso a funciones avanzadas que WebGL no proporciona.

La API se diseñó teniendo en cuenta la plataforma web y cuenta con una API de JavaScript idiomática, integración con promesas, compatibilidad con la importación de videos y una experiencia de desarrollador pulida con mensajes de error claros.

WebGPU es el resultado de un esfuerzo colaborativo del grupo comunitario “GPU para la Web” del W3C, que incluye contribuciones de empresas importantes como Mozilla, Apple, Intel y Microsoft.

Navegadores compatibles

Esta versión inicial de WebGPU estuvo disponible en Chrome 113, en dispositivos ChromeOS con compatibilidad con Vulkan, dispositivos Windows con compatibilidad con Direct3D 12 y macOS. Pronto se admitirán Linux, Android y una compatibilidad expandida con las plataformas existentes.

WebGPU es un trabajo en curso para Firefox y Safari, además de la implementación inicial en Chrome.

Compatibilidad con bibliotecas

Muchas bibliotecas de WebGL de uso general ya están en proceso de implementar la compatibilidad con WebGPU o ya lo hicieron. Esto significa que usar WebGPU solo puede requerir hacer un cambio de una sola línea.

  • Babylon.js es totalmente compatible con WebGPU.
  • PlayCanvas anunció la compatibilidad inicial con WebGPU.
  • TensorFlow.js admite versiones optimizadas para WebGPU de la mayoría de los operadores.
  • La compatibilidad con WebGPU de Three.js está en curso. Consulta los ejemplos.

Tanto la biblioteca Dawn para Chromium como la biblioteca wgpu para Firefox están disponibles como paquete independiente. Ofrecen una gran portabilidad y capas ergonómicas que abstraen las APIs de la GPU del sistema operativo. El uso de estas bibliotecas en aplicaciones nativas facilita la portabilidad a WASM a través de Emscripten y Rust web-sys.

Recursos

WebGPU es una tecnología importante, y te recomendamos los siguientes recursos para obtener más información: