Bindless is pretty much _the_ most important feature we need in WebGPU. Other stuff can be worked around to varying degrees of success, but lack of bindless makes our state changes extremely frequent, which heavily kills performance with how expensive WebGPU makes changing state. The default texture limits without bindless are also way too small for serious applications - just implementing the glTF PBR spec + extensions will blow past them.<p>I'm really looking forward to getting bindless later down the road, although I expect it to take quite a while.<p>By the same token, I'm quite surprised that effort is being put into a compatibility mode, when WebGPU is already too old and limiting for a lot of people, and when WebGL(2) is going to have to be maintained by browsers anyways.
Honest question: Can someone explain to me why people are excited about WebGPU and WASM and similar technologies?<p>To me, one of the greatest things about the web is that the DOM is malleable in that you can right click -> view source -> change things. This is dead in an era where the server just sends you a compiled WASM dll.<p>It seems to me that the inevitable result of things like WASM and WebGPU will be "rich media web 4.0 applications" that are just DRM, crypto miners, and spyware compiled so that they're more difficult to circumvent, and delivered via the browser. An excuse to write web apps with poor performance because "well the user just needs a stronger GPU". It seems like an express train back to the bad old days of every website being written in flash.<p>I honestly cannot see the upsides of these technologies. Is it gaming? Why would I want to play a 3D game in my fucking <i>browser</i> of all places? That's a strict downgrade in almost every way I can think of. Why would anyone want that? Is it "AI"? Why would I want to run an LLM in the browser, I could just run it natively for better performance?<p>All I can see and have seen over the last several years is a steady parade of new technologies that will make the internet (and in some cases the lives of every day people) objectively worse while enriching a handful of big tech douchebags.<p>Why are we going down this path? Who is asking for this stuff? Why the fuck would I want to expose my GPU to a website?
They say:<p>"This is the next step in the standardization process, and it comes with stronger guarantees of stability and intellectual property protection."<p>I understand stability, and in the general sense I see that people feel they need to protect their IP, but in this specific case what is meant by "intellectual property protection"?
I wish there were a good way to profile WebGPU code. I've seen this (very useful) article[1] on setting up PIX, but I'm ambitious. I want to see everything from draw call timings to flamegraphs of shader code.<p>Right now I feel like the only way to write efficient WebGPU code is to deeply understand specific GPU architectures. I hope some day there's a dev tools tab that shows me I'm spending too much time sampling a texture or there's a lot of contention on my atomic add.<p>[1]: <a href="https://toji.dev/webgpu-profiling/pix.html" rel="nofollow">https://toji.dev/webgpu-profiling/pix.html</a>
My team (third party) has developed WebGPU support for Unreal Engine 5, along with an asset-streaming system that solves the large download, multi-gigabyte game in your webpage issue by only loading in what a player needs to see at any given moment. It's constantly loading and unloading data, which helps tremendously with memory management.<p>WebGPU is going to usher in a new era of web games, the biggest benefit being compute shaders which have never before been possible inside the browser.<p>DISCLAIMER - Will only work on a Windows device running Chrome or a Chromium browser. Mac and iOS isn't well supported yet.<p>Space demo - <a href="https://play.spacelancers.com/" rel="nofollow">https://play.spacelancers.com/</a><p>Forest demo - <a href="https://play-dev.simplystream.com/?token=bd4ca6db-522a-4a73-b2c0-7bed0041d3ad" rel="nofollow">https://play-dev.simplystream.com/?token=bd4ca6db-522a-4a73-...</a>