| ▲ | SkiFire13 2 hours ago | |
In my opinion this comes down to how much data you have on screen and whether you can efficiently skip off-screen data. If you can do that then it doesn't matter how your framework scales, you will be bound by screen space anyway. That said, I indeed am not fond of GPUI and egui, but for different reasons. In GPUI having to manually mark the state as changed is IMO a footgun and any decent UI framework should not require something like that. In egui I found the "immediate mutation" pattern (e.g. the classic `if button.pressed() { mutate }`) to produce glitches in the UI, because it will cause half the UI to draw the old state and half the new state. You almost always want to anticipate interactions, or to delay mutations. But performance is not a problem IMO unless you're writing a complex vector graphics viewport (in which case retained UI won't help you either) | ||