Doom 3 - rodando em WebAssembly
4 participantes
Página 1 de 1
Doom 3 - rodando em WebAssembly
Para quem não sabe do que se trata, WebAssembly;
WebAssembly é uma espécie de novo código de byte. WebAssembly – ou abreviado: “wasm” – é uma nova sintaxe para código binário seguro de baixo nível. Ele é definido como “um formato portátil para execução, carregamento, verificação e exibição de modelos de código”, projetado para servir como um alvo de compilação para a web.
Isso definitivamente significa melhorias de desempenho no navegador. E nos dá acesso a um conjunto de blocos de construção de baixo nível, como uma gama de tipos e operações.
Leia post completo
No vídeo acima, eu estou rodando o Doom 3 pelo navegador, sim o jogo completo.
O trabalho de conversão ficou excelente, tem alguns problemas que identifiquei, que acredito ser não despejar cache "buffer de vídeo" do jogo, então o FPS começa cair depois de alguns minutos, a solução que encontrei para manter o FPS estável, foi salvar o jogo, recarregar a aba e dar load no save, como podem perceber no vídeo o jogo sempre voltava para 60 FPS, mesmo nas cenas exigentes o FPS não tinha variações.
Quem quiser testar (Firefox não apresenta uma boa estabilidade, o gameplay foi gravado com o jogo rodando no Google Chrome
http://wasm.continuation-labs.com/d3demo/
Documentação do port
http://www.continuation-labs.com/projects/d3wasm/
Site oficial do WebAssembly
https://webassembly.org/
Configuração do PC usado para rodar o jogo
GPU: GeForce GTX 970
CPU: Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
Memory: 16 GB RAM @DDR4
Resolution: 1920 x 1080, 60Hz
WebAssembly é uma espécie de novo código de byte. WebAssembly – ou abreviado: “wasm” – é uma nova sintaxe para código binário seguro de baixo nível. Ele é definido como “um formato portátil para execução, carregamento, verificação e exibição de modelos de código”, projetado para servir como um alvo de compilação para a web.
Isso definitivamente significa melhorias de desempenho no navegador. E nos dá acesso a um conjunto de blocos de construção de baixo nível, como uma gama de tipos e operações.
Leia post completo
https://imasters.com.br/back-end/o-que-e-webassembly-e-por-que-ele-afeta-todos-os-desenvolvedores-web
No vídeo acima, eu estou rodando o Doom 3 pelo navegador, sim o jogo completo.
O trabalho de conversão ficou excelente, tem alguns problemas que identifiquei, que acredito ser não despejar cache "buffer de vídeo" do jogo, então o FPS começa cair depois de alguns minutos, a solução que encontrei para manter o FPS estável, foi salvar o jogo, recarregar a aba e dar load no save, como podem perceber no vídeo o jogo sempre voltava para 60 FPS, mesmo nas cenas exigentes o FPS não tinha variações.
Quem quiser testar (Firefox não apresenta uma boa estabilidade, o gameplay foi gravado com o jogo rodando no Google Chrome
http://wasm.continuation-labs.com/d3demo/
Documentação do port
http://www.continuation-labs.com/projects/d3wasm/
Site oficial do WebAssembly
https://webassembly.org/
Configuração do PC usado para rodar o jogo
GPU: GeForce GTX 970
CPU: Intel(R) Core(TM) i5-6400 CPU @ 2.70GHz
Memory: 16 GB RAM @DDR4
Resolution: 1920 x 1080, 60Hz
poyser- Avançado
- PONTOS : 3035
REPUTAÇÃO : 46
Idade : 26
Áreas de atuação : https://play.google.com/store/apps/dev?id=6312026995180986052
Respeito as regras :
Re: Doom 3 - rodando em WebAssembly
Crai, isso me da medo.
Já programei microcontroladores em assembly puro, e é o INFEEEERNOOO.
Se tiver algum booom nível de abstração, pode vir a ser algo interessante, mas se for pouca a abstração, ai vai ser só para os mais parrudo mesmo.
Já programei microcontroladores em assembly puro, e é o INFEEEERNOOO.
Se tiver algum booom nível de abstração, pode vir a ser algo interessante, mas se for pouca a abstração, ai vai ser só para os mais parrudo mesmo.
Re: Doom 3 - rodando em WebAssembly
Eu nunca programei nada em WebAssembly, porém algumas engines já tem planos para gerar para Web usando a tecnologia, como o Construct 3 Leia sobre o assuntoMarcosSchultz escreveu:Crai, isso me da medo.
Já programei microcontroladores em assembly puro, e é o INFEEEERNOOO.
Se tiver algum booom nível de abstração, pode vir a ser algo interessante, mas se for pouca a abstração, ai vai ser só para os mais parrudo mesmo.
Também nossa querida Unity, Leia o artigo.
O mais empolgante em tudo isso é que não vamos precisar programar nada em WA, o serviço pesado as empresas estão fazendo.
O grande problema hoje do WA é que ele roda em single Thread, mesmo assim já conseguem apresentar resultados bem animadores.
Re: Doom 3 - rodando em WebAssembly
guimaraf escreveu:Eu nunca programei nada em WebAssembly, porém algumas engines já tem planos para gerar para Web usando a tecnologia, como o Construct 3 Leia sobre o assuntoMarcosSchultz escreveu:Crai, isso me da medo.
Já programei microcontroladores em assembly puro, e é o INFEEEERNOOO.
Se tiver algum booom nível de abstração, pode vir a ser algo interessante, mas se for pouca a abstração, ai vai ser só para os mais parrudo mesmo.
Também nossa querida Unity, Leia o artigo.
O mais empolgante em tudo isso é que não vamos precisar programar nada em WA, o serviço pesado as empresas estão fazendo.
O grande problema hoje do WA é que ele roda em single Thread, mesmo assim já conseguem apresentar resultados bem animadores.
Ai sim, se o assembly não passar pelas nossas mãos, é topzera. Li alguma coisa sobre o DX11 ser puramente em assembly, mas posso estar falando besteira.
Enfim, assemply longe do programador, atuando só com o compilador é massa.
Re: Doom 3 - rodando em WebAssembly
MarcosSchultz escreveu:guimaraf escreveu:Eu nunca programei nada em WebAssembly, porém algumas engines já tem planos para gerar para Web usando a tecnologia, como o Construct 3 Leia sobre o assuntoMarcosSchultz escreveu:Crai, isso me da medo.
Já programei microcontroladores em assembly puro, e é o INFEEEERNOOO.
Se tiver algum booom nível de abstração, pode vir a ser algo interessante, mas se for pouca a abstração, ai vai ser só para os mais parrudo mesmo.
Também nossa querida Unity, Leia o artigo.
O mais empolgante em tudo isso é que não vamos precisar programar nada em WA, o serviço pesado as empresas estão fazendo.
O grande problema hoje do WA é que ele roda em single Thread, mesmo assim já conseguem apresentar resultados bem animadores.
Ai sim, se o assembly não passar pelas nossas mãos, é topzera. Li alguma coisa sobre o DX11 ser puramente em assembly, mas posso estar falando besteira.
Enfim, assemply longe do programador, atuando só com o compilador é massa.
O WebAssembly usa recursos de baixo nível, atualmente quando rodamos um jogo web, ele roda sobre o OpenGL, este por sua vez acessa o hardware para render, o WebAssembly fará a comunicação direta com o Hardware usando uma linguagem de baixo nível como c, desta forma conseguindo rodar com desempenho muito melhor.
Veja isso
Google Earth rodando sem WA e com
Versão padrão sem WebAssembly
https://earth.google.com/web/
Versão com WebAssembly
https://earth.google.com/web/?beta=1
Artigo sobre o assunto
https://web.dev/earth-webassembly
Repare que na versão com WA, temos a representação 3d de várias estruturas, enquanto a versão normal só temos a representação 2d.
Re: Doom 3 - rodando em WebAssembly
Crai, Google earth ta parrudo... olha o 3D dessa perspectiva:
https://earth.google.com/web/@40.63288323,-74.03265661,16.84436144a,236.31562774d,35y,162.76532433h,76.02604688t,0r?fbclid=IwAR28alcAgUjyYi6pvuQh3BCGeqO5zcABPYiCyTWeRu50F9DQFV83Fjze7Ts&beta=1
ta ficando topzera.
https://earth.google.com/web/@40.63288323,-74.03265661,16.84436144a,236.31562774d,35y,162.76532433h,76.02604688t,0r?fbclid=IwAR28alcAgUjyYi6pvuQh3BCGeqO5zcABPYiCyTWeRu50F9DQFV83Fjze7Ts&beta=1
ta ficando topzera.
Re: Doom 3 - rodando em WebAssembly
WebAssembly veio para fortalecer as Web App, não se assuste que daqui a alguns anos muitos programas migrem para web/assinatura, hoje já temos muitos.
Re: Doom 3 - rodando em WebAssembly
Tem o código ou algo sobre a parte build da unity?guimaraf escreveu:WebAssembly veio para fortalecer as Web App, não se assuste que daqui a alguns anos muitos programas migrem para web/assinatura, hoje já temos muitos.
Chilinger- MembroAvançado
- PONTOS : 4093
REPUTAÇÃO : 42
Idade : 30
Respeito as regras :
Re: Doom 3 - rodando em WebAssembly
Chilinger escreveu:Tem o código ou algo sobre a parte build da unity?guimaraf escreveu:WebAssembly veio para fortalecer as Web App, não se assuste que daqui a alguns anos muitos programas migrem para web/assinatura, hoje já temos muitos.
https://blogs.unity3d.com/pt/2018/08/15/webassembly-is-here/
Tópicos semelhantes
» Rodando o Sul
» Programador Rodando o Sul
» App continuar rodando (Android)
» Unity - Transições no AnimatorController rodando errado
» Bug - Unity rodando com menos FPS no BAIXO e MAIS no ULTRA
» Programador Rodando o Sul
» App continuar rodando (Android)
» Unity - Transições no AnimatorController rodando errado
» Bug - Unity rodando com menos FPS no BAIXO e MAIS no ULTRA
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos