WebGPU

WebGPU  es el nombre provisional del próximo estándar web y la API de JavaScript para gráficos y computación acelerados por hardware , con el objetivo de proporcionar "las últimas capacidades de computación y gráficos en 3D". Desarrollado por la GPU W3C para la Web por un equipo de ingenieros de Apple , Mozilla , Microsoft , Google y más. [una]

A diferencia de WebGL , WebGPU no es un puerto directo de ninguna API nativa existente. Se basa en las API proporcionadas por Vulkan , Metal y Direct3D 12 y está diseñado para proporcionar un alto rendimiento en plataformas móviles y de escritorio. [2] Las plataformas móviles estarán limitadas a la hora de crear objetos WebGPUDeviceque requieran API de gráficos modernos (mencionados anteriormente). [nota 1]

El primer prototipo conceptual llamado NXT fue demostrado a principios de 2017 por el equipo de Chromium .

El equipo de desarrollo de Google Chrome lo llamó el "sucesor" de las API de JavaScript WebGL /2 . [3]

Historia

El 8 de junio de 2016, Google presentó la presentación "API de gráficos web explícitos" al grupo de trabajo de WebGL (durante una reunión presencial bianual). [4] La presentación cubrió las ideas y principios básicos detrás de la creación de una nueva API que eventualmente reemplazará a WebGL, también conocida como "WebGL Next".

El 24 de enero de 2017, Khronos organizó una reunión de "WebGL Next Ideas" que coincidió con la reunión del Grupo de trabajo de WebGL en Vancouver. [5] El equipo de Google ha presentado un prototipo de NXT que implementa una nueva API que puede ejecutarse en Chromium con OpenGL o de forma independiente con OpenGL y Metal. NXT tomó prestados conceptos de todas las API de Vulkan, Direct3D 12 y Metal. Los representantes de Apple y Mozilla también mostraron sus prototipos, construidos en Safari y Servo, respectivamente, los cuales copian completamente la API de Metal.

Grupo de trabajo del W3C

El 7 de febrero de 2017, el equipo de Apple WebKit propuso la creación de un grupo comunitario W3C para desarrollar la API. Al mismo tiempo, anunciaron una prueba técnica de concepto y una propuesta llamada "WebGPU" basada en los conceptos de Apple Metal . [6] [7] [8] El nombre WebGPU fue adoptado más tarde por el grupo de la comunidad como un nombre de trabajo para un estándar futuro en lugar de solo la propuesta original de Apple. [2] La propuesta original ha sido renombrada como "WebMetal" para evitar más confusiones. [9]

El grupo de la comunidad W3C "GPU para la Web" se lanzó el 16 de febrero de 2017. En ese momento, todo Apple, Google y Mozilla estaban experimentando en esta área, pero solo la propuesta de Apple se envió oficialmente al repositorio "gpuweb-offers". [10] [11] [12] Poco después, el 21 de marzo de 2017, Mozilla envió una propuesta de WebGL Next al repositorio de Khronos basada en el diseño de Vulkan. [13] [14]

El 1 de junio de 2018, el equipo de Google Chrome anunció su intención de implementar un futuro estándar WebGPU, citando "resolver los problemas más importantes" como parte de la estandarización entre navegadores. [2]

Tecnología

WebGPU usa su propio lenguaje de sombreado llamado WGSL, que se traduce fácilmente a SPIR-V . [15] Esta elección es un compromiso entre tres ofertas: WebMetal basado en texto de Apple, Web HLSL /WSL basado en texto de Apple Safari y SPIR-V binario de Mozilla. Tint es un compilador WGSL creado por Google.

Implementación

Tanto Chrome como Firefox admiten WebGPU a través de SPIR-V, mientras continúa el trabajo en la interfaz WGSL. Safari es compatible con WebGPU con WSL. [dieciséis]

Véase también

Notas

  1. "[...] WebGPUDevice requerirá que la plataforma nativa exponga una API de gráficos moderna: [...]" [2]

Notas

  1. GPU para el grupo de la comunidad web . w3.org . Consultado el 11 de septiembre de 2018. Archivado desde el original el 10 de septiembre de 2018.
  2. Pruebas de origen . desarrollador.chrome.com _ Consultado el 26 de septiembre de 2021. Archivado desde el original el 23 de septiembre de 2021.
  3. Wallez, Corentin API gráfica web explícita . Fecha de acceso: 25 de junio de 2019.
  4. Wallez, Corentin; Ninomiya, Kai WebGL Next investigaciones . Fecha de acceso: 25 de junio de 2019.
  5. Gráficos 3D de próxima generación en la Web , WebKit  (7 de febrero de 2017). Archivado desde el original el 19 de diciembre de 2021. Consultado el 24 de diciembre de 2021.
  6. Apple busca posicionar a Metal como parte del nuevo estándar de gráficos 3D para   web . . AppleInsider . Consultado el 13 de agosto de 2018. Archivado desde el original el 13 de agosto de 2018.
  7. Claburn, Thomas Web-standards-allergic Apple presenta WebGPU, un estándar de gráficos web (8 de febrero de 2017). Consultado el 14 de agosto de 2017. Archivado desde el original el 14 de agosto de 2017.
  8. Prototipos y demostraciones de WebGPU . WebKit (5 de abril de 2017). Consultado el 10 de enero de 2019. Archivado desde el original el 10 de enero de 2019.
  9. Jackson, Dean Bienvenida y Primeros pasos . Lista de correo (16 de febrero de 2017). Fecha de acceso: 24 de diciembre de 2021.
  10. Jackson, Dean Agregar la propuesta WebGPU de Apple . Consultado el 8 de marzo de 2019. Archivado desde el original el 24 de diciembre de 2021.
  11. Malyshau, Dzmitry Creación de prototipos de una nueva API 3D para la Web . Consultado el 16 de diciembre de 2016. Archivado desde el original el 11 de febrero de 2017.
  12. Malyshau, Dmitry . Definición de la plataforma Web  (21 de marzo de 2017). Archivado el 10 de octubre de 2020. Consultado el 24 de diciembre de 2021.
  13. Malyshau, Dzmitry Contribución de Mozilla: Obsidian API . Consultado el 8 de marzo de 2019. Archivado desde el original el 30 de abril de 2020.
  14. Especificación del lenguaje de sombreado WebGPU . Consultado el 24 de diciembre de 2021. Archivado desde el original el 8 de septiembre de 2021.
  15. Estado  de implementación . GitHub . gpuweb. Consultado el 24 de diciembre de 2021. Archivado desde el original el 24 de diciembre de 2021.

Enlaces