-
Notifications
You must be signed in to change notification settings - Fork 213
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
Hook up optional tracy profiler integration #1328
base: master
Are you sure you want to change the base?
Conversation
UPDATE: @Joshua-Ashton |
50e05d0
to
54fccb7
Compare
4099bad
to
9acbbad
Compare
9acbbad
to
e90713d
Compare
…enable Tracy to use vulkan VK_EXT_calibrated_timestamps
…ere preventing the gpu zones from working
b321aac
to
85a533a
Compare
3fd999a
to
233c7b0
Compare
also set TRACY_LIBBACKTRACE_ELF_DYNLOAD_SUPPORT define for dynamic lib symbol resolution
@sharkautarch I've got your tracy_profiling branch merged into master and set up on my dev rig. Gamescope integration seems pretty solid so far, nice work. I still need to figure out how to make heads or tails of what I see in there, along with setting it up remotely so I can capture drm backend tracing live but that's just a skill issue on my end... time to read the docs. |
@matte-schwartz Oh also note that the Tracy profiler gui comes with a 'tutorial' mode that teaches you how to use it. |
@matte-schwartz I made sure that when you do something like |
Seems like tracy profiling may introduce some instability within gamescope-session, not sure if it's from the profiler running out of memory or something like that, but it only happened while I was hammering gamescope with continuous rendering + full mangohud for an extended period of time with tracy profiling connected remotely. Journal logs of the crash + backtrace of the coredump w/ each thread: |
Oh I think the crash might be due to weirdness w/ static variables, and/or maybe a race condition |
@matte-schwartz |
ea52f5d
to
8299ad3
Compare
…oubleLockable. Markup locks used by the drm and wayland backends also fix compiler/linker error when building w/ tracy profiler disabled
also add some extra misc details, including some window & commit details previously only shown by gpuvis
f0b38f2
to
1a64c02
Compare
might somehow be causing gamescope-xwm to crash
also fix warning wrt CVulkanDevice::commandBuffer()
…-Dtracy_collect_callstacks=true
Shouldn't add any runtime overhead when compiling gamescope w/ tracy disabled (the default)
Advantage of profiling w/ Tracy compared to other sampling profilers is that Tracy's profiling info is way more precise, and Tracy can track slowdowns for (an) individual [delayed] frame(s).
In the current state of this PR, when compiling gamescope w/ tracy enabled, instruments some places with
ZoneScoped
. profiles frame timings w/FrameMarkStart/FrameMarkEnd
Also has a default-disabled option (
tracy_collect_callstacks
) for collecting callstacks in some places:paint_all()
andxwayland_ctx_t::Dispatch
I might add additional places to optionally collect callstacks from in the future...
Next Tracy TODO will be to hook up Tracy's vulkan profiling stuff...
(also sorry about the two closed PRs I made accidentily... I had done a
git push -f
after forgetting to first dogit commit
...)