Critique of GPUI state model for desktop apps
Original title: A Critique of GPUI
GPUI and egui frameworks are unsuitable defaults for complex desktop applications due to inefficient incremental state updates.
The author argues that popular Rust GUI frameworks GPUI and egui have state models that fail to scale for complex desktop apps. Every UI architecture must track changes and dependencies efficiently or performance degrades. Benchmarks show GPUI rerenders entire views on minor label changes, costing 8.4 ms for 3,000 live rows versus microseconds with signals. Zed bypasses some GPUI semantics. The post compares to Elm, signals and other frameworks.
- GPUI notify triggers full view rerenders
- 8.4 ms cost per label change in 3,000 row UI
- Signals frameworks rerun only reading closures
- Zed uses custom elements bypassing GPUI
- Author ported GPUI renderer to wgpu
From the original article
17 min read at blog.zortax.deRecently, there has been a trend of more desktop GUI apps being built using native rust GUI frameworks. And there are now even well known electron apps getting official rewrites: Discord announced their app is being rewritten using
By ByteAtATime · blog.zortax.de
A short excerpt; the article and its images belong to the publisher. Summary, key facts and assessment above are AI-written from the article and can be wrong.