-
Couldn't load subscription status.
- Fork 14
Add optional Tracy support #129
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
base: main
Are you sure you want to change the base?
Conversation
Also fixes the issue where scenefx werror would interfere with tracy warnings
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we need to do more #if TRACY_ENABLE. Ideally none of these changes would be hit if tracy is not enabled
|
Hey @ErikReider is this ready? Only thing I see is that we need to add those |
Oh, sorry, didn't see your original comment about that. There's one in the tracy.h file which is why there are so many macros. Makes it a lot more clean without 1000 preprocessor #if-statements |
Adds support for tracy which is used for advanced profiling! :D
Obligatory screenshot:

How to test it with tinywl, just add the
-Dtracy_enable=truebuild option:# scenefx/ meson subprojects download meson setup build --buildtype=debugoptimized -Dtracy_enable=true --wipe meson compile -C build ./build/tinywl/tinywl -s footAnd launch the separate tracy executable, which needs to be installed/compiled separately. The latest Wayland build is pretty broken on my system (crashes a lot...), so I compiled it with LEGACY=1, and run it through a separate terminal:
# tracy/ cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPE=Release -DLEGACY=1 cmake --build profiler/build --config Release --parallel ./profiler/build/tracy-profilerWithout the
tracy_enablebuild option enabled (the default state), tracy support is completely disabled, so no overhead.To test it with SwayFX, apply this patch and use the same build option to meson when setting up the project.
TODO:
TracyCAppInfo?Note: There's a
tracy.wrapfile in the subprojects directory which only gets automatically cloned when tracy is enabled through Meson.Here's some documentation about how to use tracy: