Notícias

WebGPU está deixando o desenvolvimento web mais eficiente

WebGPU é uma nova interface de programação para renderização de gráficos e aprendizado de máquina, que já está presente em estágio inicial no Google Chrome, prometendo uso mais eficiente dos componentes computacionais do usuário para viabilizar uma navegação mais rápida e fluída e expandir as possibilidades para aplicativos online.

Qual o objetivo do WebGPU?

A tecnologia WebGPU está sendo desenvolvida pelo consórcio W3C, que envolve empresas como Google, Mozilla, Apple, Intel, e Microsoft, uma organização internacional de padrões que desenvolve os pilares de tecnologias web e é responsável por projetos, como o HTML, CSS, SVG e XML. 

Em 2011, foi lançado o WebGL, baseado no OpenGL, considerando os recursos computacionais e padrões da época. Esta API é considerada complicada e trabalhosa, com diversos relatos sobre gargalos de desempenho e redundâncias durante a escrita de programas para ela, levando tudo isso em conta, o W3C desenvolve o WebGPU, que moderniza o desenvolvimento Web.

Esta nova API simplifica as chamadas Javascript, sua linguagem de programação base, diminuindo a curva de aprendizado dos desenvolvedores e também transfere processos, que antes eram executados pelo processador, para a GPU, reduzindo possíveis gargalos. Além disso, o WebGL não tratava de aprendizado de máquina diretamente e demandava algumas abstrações dos programadores para conseguir adaptar a funcionalidade, sem alcançar um desempenho ideal. 

O WebGPU possui recursos que permitem realizar este tipo de processo com mais facilidade e velocidade em seu próprio computador. Com uma abordagem direta ao aprendizado de máquina, o WebGPU torna funções como a remoção do plano de fundo, presente no Google Meet, mais rápido e com maior eficiência energética, enquanto a responsabilização da GPU por mais processos, viabiliza mais quadros por segundo durante a renderização de vídeos e cenas tridimensionais.

Segundo as informações do projeto, jogos que funcionam pelo navegador, podem ter gráficos mais complexos sem perder desempenho, graças ao WebGPU. Em testes feitos pelos desenvolvedores, o WebGPU consegue renderizar cenas dinâmicas 3D com 8 vezes mais quadros por segundo do que o WebGL e o processador ainda ficou livre para executar outras tarefas em paralelo, sem comprometer a cena. A tecnologia também permite a execução de efeitos visuais que antes não eram possíveis, como dinâmicas realistas da superfície da água, com ondas independentes, utilizando dados espectrais.

webGPU está deixando o desenvolvimento web mais eficiente renderizacao agua
Renderização da superfície do oceano utilizando dados espectrais. Fonte: Google

Programadores se beneficiam com a ausência de um gerenciamento de estados globais, que tornava a criação de bibliotecas robustas mais difícil no WebGL, com a presença de um depurador mais flexível, que detalha melhor os erros encontrados e de mecanismos para a execução de vários comandos JavaScript por uma única chamada.

GPUs modernas carregam a fama de possuírem APIs complexas, WebGPU pode ajudar nisso, pois é feito para ser fácil e multiplataforma, apresentando recursos como a sincronização automática de recursos e suporte a operações assíncronas.

Como podemos usufruir o WebGPU?

Uma versão inicial do WebGPU já está presente no Google Chrome 113, lançado para Mac, Windows com suporte ao Direct3D 12 e Chrome com Vulkan, mas é esperado que ainda neste ano chegue ao Linux e ao Android. O Firefox e o Safari também estão desenvolvendo seu suporte à nova API, é esperado que em breve ela esteja presente nos demais navegadores com base Chromium.

Muitas tecnologias do ecossistema web já estão se movendo para, ou já dão suporte ao WebGPU, como o Babylon.js, Construct3, Google Earth, Google Meet, PlayCanvas, Sketchfab, Three.js, Tensor Flow e o motor de jogo Unity.

Algumas melhorias que ainda pretendem adicionar ao WebGPU são o suporte a pontos flutuantes 16-bit escalares em shaders, o uso mais eficiente da largura de banda da memória, que pode ser reduzido pela metade e o suporte a instruções DP4 para operações 8-bit.

Fique por dentro das últimas novidades do mundo da tecnologia e do Linux assinando a nossa newsletter e acompanhando a sessão notícias do fórum Diolinux Plus!

Diolinux Ofertas - Aproveite os melhores descontos em diversos produtos!