2 ms·
My rant today on regression.[1] WGPU.rs, Rust's cross-platform graphics library, just reduced performance by 21%. They didn't notice. While WGPU supports Windo
by Animats 2y ago
My rant today on regression.[1]
WGPU.rs, Rust's cross-platform graphics library, just reduced performance by 21%. They didn't notice. While WGPU supports Windows, MacOS, Linux, and Android, it started as WebGPU support in browsers. So it comes from web dev land, the land of "move fast and break things", "agile", and not worrying too much about performance until things get really bad.
This is part of why so many game projects have abandoned Rust. The graphics stack, four years on, still isn't very good.
[1] https://www.reddit.com/r/rust_gamedev/comments/1giujbk/wgpu_21_performance_drop/ https://www.reddit.com/r/rust_gamedev/comments/1giujbk/wgpu_...
- vacuity 2y agoThe maintainers/developers do explicitly deprioritize performance, but I agree that it feels wrong for a "suitable for general purpose graphics" engine with the implication of being "modern" to deprioritize it that much. Although I guess it's an unforgiving trade-off to have to make.
- Animats 2y agoDid they actually write that somewhere? WGPU, due to breadth of coverage. has succeeded in becoming pretty much the only game in town. There's Vulkano, a safe wrapper for Vulkan, but only a few projects use it and it hasn't stabilized yet. There's Ash, which is an unsafe wrapper for Vulkan. That's pretty raw. Some Rust projects still use OpenGL, which has better support, or talk to Direct-X directly. There just isn't a good fast modern Rust graphics stack that covers the main desktop platforms.
- vacuity 2y ago> Did they actually write that somewhere? wgpu.rs for comments about "general purpose", "modern" is my own interjection, and [1] about the difference in priorities between the WGPU maintainers and (funnily enough) you. I do believe a cross-platform and modern interface is difficult to square with high performance. I don't think either side is wrong to choose the priorities it has, but someone will be underserved. They probably need far more manpower/talent than they have to improve performance proportionately. [1] https://github.com/gfx-rs/wgpu/discussions/5525 https://github.com/gfx-rs/wgpu/discussions/5525