El suport WebGPU arriba a les versions nightly del Firefox

Es va donar a conèixer informació sobre la integració de l'especificació d'ajuda WebGPU en les compilacions del Firefox nightly, amb la qual cosa ara es proporciona una interfície de programació per al processament de gràfics en 3D i la informàtica en el costat de la GPU, conceptualment similar a l'API de Vulkan, metall i Direct3D 12. L'especificació està sent desenvolupada per Mozilla, Google, Apple, Microsoft i representants de la comunitat en un grup de treball creat per l'organització W3C.

L'objectiu clau de WebGPU és crear una interfície de programari segura, convenient, portàtil i d'alt rendiment per al seu ús a la plataforma web amb tecnologia de gràfics 3D i capacitats proporcionades per API de gràfics de sistemes moderns com Direct3D 12 en Windows, Metall a macOS i Vulkan en Linux.

conceptualment, WebGPU difereix de WebGL de la mateixa manera que Vulkan difereix d'OpenGL i no es basa en una API gràfica específica, sinó que és una capa universal, en general, que fa servir les mateixes primitives de baix nivell que estan disponibles a Vulkan, Metall i Direct3D.

A Firefox, es proporciona la configuració «dom.webgpu.enabled» per habilitar WebGPU a about: config. A més que per a renderitzar CanvasContext també requereix la inclusió de sistema de composició WebRender ( «gfx.webrender.all» a about: config).

La implementació d'WebGPU es basa en el codi de el projecte wgpu escrit a Rust i pot funcionar sobre les API DX12, Vulkan i Metall en Linux, Android, Windows i macOS (també s'està desenvolupant la compatibilitat amb DX11 i OpenGL ÉS 3.0).

sobre WebGPU

WebGPU proporciona aplicacions de JavaScript amb eines per al control de nivell inferior sobre l'organització, el processament i la transmissió d'ordres a la GPU, l'administració de recursos relacionats, memòria, buffers, objectes de textura i ombrejadors gràfics compilats. Aquest enfocament li permet aconseguir aplicacions gràfiques de major rendiment a l'reduir les despeses generals i augmentar l'eficiència de la feina amb la GPU.

WebGPU fa possible crear projectes 3D complexos complets per a la Web que no funcionen pitjor que els programes independents que es comuniquen directament amb Vulkan, Metall o Direct3D, però que no estan vinculats a plataformes específiques.

També proporciona capacitats addicionals a l'portar programes gràfics nadius a un formulari que pot funcionar sobre la base de tecnologies basades en la web mitjançant l'ús de la tecnologia WebAssembly.

A més dels gràfics en 3D, WebGPU també cobreix les possibilitats associades amb l'eliminació de la informàtica a la banda de la GPU i el suport per al desenvolupament de ombrejadors. Els ombrejadors poden crear-se en el llenguatge d'ombrejat WebGPU o especificar en el format intermedi SPIR-V, i després traduir-se a les llengües de ombreig compatibles amb els controladors actuals.

WebGPU utilitza la gestió de recursos per separat, el treball preparatori i la transferència d'ordres a la GPU (en WebGL, un objecte era responsable de tot alhora). Es proporcionen tres contextos separats: GPUDevice per crear recursos com textures i buffers; GPUCommandEncoder per codificar ordres individuals, incloses les etapes de renderitzat i computació; GPUCommandBuffer per fer cua per a l'execució a la GPU.

La segona diferència entre WebGPU i WebGL és un enfocament diferent per gestionar estats. Es proposen dos objectes en WebGPU: GPURenderPipeline i GPUComputePipeline, que permeten combinar diversos estats predefinits pel desenvolupador, el que permet que el navegador no perdi recursos en treballs addicionals, com la recompilació de ombrejadors. Entre els estats admesos es troben: ombrejadors, memòria intermèdia de vèrtexs i dissenys d'atributs, dissenys de grups adjunts, fusió, profunditat i patrons, formats de sortida després de l'renderitzat.

La tercera característica de WebGPU és el model d'enllaç, Que en molts aspectes s'assembla als mitjans d'agrupar recursos presents a Vulkan. Per agrupar recursos en grups, WebGPU proporciona un objecte GPUBindGroup que, a l'escriure ordres, pot associar-se amb altres objectes similars per usar en ombrejadors.

La creació d'aquests grups permet a l'conductor realitzar les accions preparatòries necessàries per endavant, i el navegador li permet canviar els enllaços de recursos entre trucades d'extracció molt més ràpid.

font: https://hacks.mozilla.org/


Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.