4 ms·
I'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
by bschwindHN 5y ago
I'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?
- pjmlp 5y ago10 years of WebGL experience on the field prove otherwise. There are browser flags to disable black listing, which is something that regular Joe/Jane has no idea whatsoever that they exist. Besides, you can head off to webgpu.io and follow up on meeting minutes. Even better, attend the upcoming WebGL/WebGPU meeting from Khronos (registration currently open) and pose that question if you prefer to hear the same from the browser vendors themselves.
- seaorg 5y agoBut in this case webgpu is basically a waste of time… why would they bother creating it if it won’t end up being of any use? Couldn’t you assess performance with a dummy load anyway?
- Jasper_ 5y agoI don't know why you keep saying "it's not possible" when I literally wrote code that does it: https://github.com/magcius/noclip.website/blob/cc98112d7b105b115a1a570a3688b3283b732b4a/src/viewer.ts#L322-L335 https://github.com/magcius/noclip.website/blob/cc98112d7b105...