Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slow Masonry startup time #804

Open
kmicklas opened this issue Dec 30, 2024 · 3 comments
Open

Slow Masonry startup time #804

kmicklas opened this issue Dec 30, 2024 · 3 comments

Comments

@kmicklas
Copy link

I have been somewhat surprised at the startup time of all the Xilem/Masonry example binaries. In release mode, they take about 3 seconds to show a window, and 30+ seconds in debug mode. (Though of course I will give debug mode a pass.)

Is there any known optimization to be had here? Feel free to close if this isn't really actionable.

Some details of my system from neofetch, if any of this matters:

OS: NixOS 24.11.git.1c6e20d41d6a (Vicuna) x86_64
Host: Micro-Star International Co., Ltd. B450 GAMING PRO CARBON AC (MS-7B85)
Kernel: 6.6.66
Uptime: 10 days, 10 hours, 26 mins
Packages: 802 (nix-system), 2342 (nix-user)
Shell: bash 5.2.37
Resolution: 3840x2160
DE: xterm
WM: xmonad
Terminal: tmux
CPU: AMD Ryzen 7 2700X (16) @ 3.700GHz
GPU: AMD ATI Radeon R9 FURY X / NANO
Memory: 24367MiB / 32019MiB
@DJMcNab
Copy link
Member

DJMcNab commented Jan 6, 2025

Ultimately, I think we'll need some tracing results of startup to see what's going on here. It might be sufficient to connect Tracy to get that trace.

In my mind, the two leading contenders are GPU shader initialisation/compilation and font discovery.

@kmicklas
Copy link
Author

It looks like font discovery is the culprit:

flamegraph

I do have a fair number of fonts installed, but other toolkits do not take this long at initialization.

@Philipp-M
Copy link
Contributor

I wanted to do the same flamegraph (same issue), as I have the same problem (also NixOS), but haven't found time yet to do that, thanks for doing this.

So that issue should probably be opened in parley

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

No branches or pull requests

3 participants