7 ms·
I'm not familiar with the implementation of webgpu/webasm, but I suspect there's a lot of overhead to these abstractions. Maybe less than the overhead of other
by caymanjim 5y ago
I'm not familiar with the implementation of webgpu/webasm, but I suspect there's a lot of overhead to these abstractions. Maybe less than the overhead of other emulators and cross-platform solutions, but I don't expect it to replace native apps any time soon for high-resource games.
- seaorg 5y agoapps that go beyond the compute budget of the wasm/webgpu layer will be native and everything else will not because nobody is going to be able to turn their nose up to the incredible advantage of launching everywhere at once with a single binary. Especially after the brand of “new web apps” gains momentum and it becomes a part of the lexicon. The overhead is low and modern computers are very fast. The budget will be very healthy indeed.
- bschwindHN 5y agoI'm actually much more optimistic about it. I've been getting into wgpu in the past few months and although you can target the web, you can also directly target each platform's native graphics API - Metal, DirectX, and Vulkan. So the browser might have some unavoidable overhead, but for most games it probably won't even matter, and others using the wgpu API can target native desktop platforms. A voxel game, Veloren, recently migrated to wgpu and wrote up some of their experiences here: https://veloren.net/devblog-125/ https://veloren.net/devblog-125/
- pjmlp 5y agoIt matters a lot, because in native games you can easily check if the 3D acceleration is present, not so on Web 3D APIs. So the game that runs without problems on your development machine, can have all sorts of issues on the client browser that you cannot work around like on native, because they are caused by how the browser is blacklisting the user's hardware or drivers.
- bschwindHN 5y agoCan you elaborate on this? Is it different from "detecting if WebGL/WebGPU is supported"? Because I'm pretty sure you can detect that, according to all the answers on this thread: https://stackoverflow.com/questions/11871077/proper-way-to-detect-webgl-support https://stackoverflow.com/questions/11871077/proper-way-to-d...
- pjmlp 5y agoIt is supported doesn't mean that you get what you are expecting, if anything is black listed you will get a "supported" version with software rendering instead. Naturally random joe user has no idea what is going on, and will dimiss your game as crap because it is running at e.g. 3 FPS. Then even if everything is supported in hardware, as OpenGL ES 3.0 subset (defined in 2011), no matter how good the GPU is, there is only so much you can do.
- seaorg 5y agoI really doubt that the mature implementations of wgpu will not allow an app to check for hardware acceleration.
- pjmlp 5y agoDoubt as much as you want, it is a security issue for browser vendors to expose that information, that is why they black list to start with.
- seaorg 5y agoBrowser vendors want people to be able to experience rich 3D accelerated content in their browsers and they will be aware of these issues like the one you mention. The idea that it won’t be addressed is completely schizophrenic… how could it be a security risk for the client to do it’s own assessment of whether or not the available hardware is suitable for 3D content and then set a flag accordingly?