Why are all the new Rust GUI libraries GPU-accelerated?
Like many, I'm keeping a close eye on the Rust GUI ecosystem. One pattern I've noticed, though, is that a lot of the new GUI liibraries that pop up claim to be "GPU-accelerated" (GPUI, Xilem, egui, ...), in other words: they often actually draw to the window using the GPU. I don't get why this is such a huge focus, isn't this overkill for 99% of applications?
- The GPU takes time to initialize, leading to the application often needing a second or so to actually open.
- It actually takes quite a lot of memory to run, these applications often have ~150MB of overhead when idle.
- Resizing the drawing surface takes time, so resizing windows is often laggy.
Compare this to some other CPU driven UI crates, which often start instantly, have maybe ~10MB of RAM overhead and resize the window incredibly smoothly. I've seen some libraries adopt this (Freya, Xilem to some end, Iced optionally), but not nearly as many as I'd expect. CPU rendering is more than fast enough for most use-cases.
(scrappy fork of Masonry running on the CPU using 12MB of memory!)
With Skia or even fully-Rust Vello CPU, libraries like anyrender and imaging and being able to draw directly to the window using softbuffer, I feel like this is an obvious choice to make. Am I wrong?