Repository navigation
Tooling for Framerate, Framerate issue? #1118
|
Maybe I'm doing this wrong, cloned and ran after updating both rust and xcode-cli + metal shaders. The "Cargo run" version of the gallery seems like its running around 30fps, although I can't tell. Certainly not as smooth as zed, this is most obvious when scrolling. What's the recommended way for me to figure out what the actual frames of the application are? I remember a video on the zed channel saying that they don't actually render at 120 fps, but they only do when the user makes an input, because ProMotion from apple actually slowed down the display if it was a constant 120 fps. Anyways... This project is AWESOME. Looking forward to contributing what I can. Just discovered zed and when I found out it was written in rust and the ui was also rust, it was the first rust application that I felt truly had a great UI. Egui is powerful but I haven't seen any good UI interfaces built with it haha. Anyways, just looking for recommended tooling and if anyone else experiences the same thing, since a ShadCn App feels snappier than the gallery for me, so maybe Im doing something wrong cheers :D |
Replies: 5 comments
|
Just checked out all the examples and am even more blown away. However, the framerate issue seems more apparent in the markdown example, typing fast results in a buffer where everything freezes every few seconds. Macbook M1 Max if thats helpful |
|
GPUI Component all elements are has good performance. FPS is triggered only when there is an interface change, such as scrolling a list. If you keep the interface still, GPUI will not refresh (this can reduce energy consumption). And all you test must under |
|
Markdown example there have an issue for cache, that example not ready for as a Markdown Editor, because markdown render performance need cache, when you change the input, the cache needs to invalidate and re-render again. So, that performance just the Markdown parser issue in that case (Just this example not good enough), not the GPUI and GPUI Component. |
|
Ah okay!
This is super helpful will try! I've seen some screenshots of people with fps counts and stuff running as an overlay like mangohud or something, Like your GitHub discussion in the zed github zed-industries/zed#24260 (comment) Sorry for being naive, but how do you do that :D |
|
running with --release makes it butter smooth :D Closing the issue as it addresses the actual issue, but still very curious at how the fps meter works |
GPUI Component all elements are has good performance.
Our application built-on this and all features can stable on 120 FPS, even it has a very complex UI layout.
FPS is triggered only when there is an interface change, such as scrolling a list. If you keep the interface still, GPUI will not refresh (this can reduce energy consumption).
And all you test must under
cargo run --release