Skip to content

⚡️ Switch from iced to egui#254

Merged
friedow merged 19 commits intomainfrom
feat/egui
Feb 3, 2026
Merged

⚡️ Switch from iced to egui#254
friedow merged 19 commits intomainfrom
feat/egui

Conversation

@friedow
Copy link
Copy Markdown
Owner

@friedow friedow commented Feb 3, 2026

Over the past year centerpiece startup time has gotten slower and slower. This is mostly due to iced receiving more features and not being optimized for fast startup performance. The most pressing issue which influences the startup time of centerpiece negatively is font loading. This is tracked over #183, has been an issue for a long time and does not seem to be fixed anytime soon.

Since centerpiece is using a very minimal feature set of iced, I've been thinking about switching to another, more lightweight, ui library for quite some time. This PR contains the change from iced to egui.

My recent tests have shown the following startup times of centerpiece

  • with iced ca. ~550ms
  • with egui ca. ~190ms

This biggest issue right now is that eui has no support for the wayland layer shell protocol. egui is waiting for layer shell support in winit (rust-windowing/winit#2582, rust-windowing/winit#4044).

We'll be merging this PR anyways, even if it does not provide native floating support in wayland, it does provide a significant performance improvement. Floating can be fixed by configuring floating for centerpiece windows in your window manager. We'll keep this change on main for quite a while and if we decide to release it without floating support, it will become a breaking change.

This resolves #246.
This resolves #174.

@friedow friedow requested a review from a-kenji February 3, 2026 20:58
@friedow friedow self-assigned this Feb 3, 2026
Copy link
Copy Markdown
Collaborator

@a-kenji a-kenji left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Looks good!

@friedow friedow merged commit 1f0cfa3 into main Feb 3, 2026
1 check passed
@friedow friedow deleted the feat/egui branch February 3, 2026 22:11
@Ciantic
Copy link
Copy Markdown

Ciantic commented Feb 12, 2026

FYI, I have layer shell (floating window) support in my Wayland + EGUI wrapper (wayapp):

https://github.com/Ciantic/wayapp/blob/main/examples/egui_layer_shell_example.rs

It of course works only on Wayland, as that is the point of my wrapper, no winit or other crossplatform setups.

@a-kenji
Copy link
Copy Markdown
Collaborator

a-kenji commented Feb 12, 2026

Hey! Thank you for that information!

@friedow
Copy link
Copy Markdown
Owner Author

friedow commented Feb 12, 2026

@Ciantic that sounds very promising and might resolve our last issue with egui. I'll try the wrapper in the next couple of days.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Switching from iced to egui Adjust amount of entries based on window size.

3 participants