When a child group was expanded, the member rows were not visibly indented under the group name: each row starts at the tree indent (column 0 is IndentEnable by default, and TableBeginRow() latches the open group's TreePush indent), so a single Indent() put the label two IndentSpacing from the cell origin. The group header, however, leads with the source location color box plus item spacing before its tree arrow, so its name starts four IndentSpacing further right than the member labels - the child list read as a continuation of the header row instead of a subtree. Add a second Indent() (and the balancing Unindent()) so the member labels land clearly to the right of the group name. The full-row Selectable behavior is unchanged. GPU zones are unaffected: their rows carry no color box, so the member labels were already one level right of the group name.
Tracy Profiler
A real time, nanosecond resolution, remote telemetry, hybrid frame and sampling profiler for games and other applications.
Tracy supports profiling CPU (Direct support is provided for C, C++, Lua, Python and Fortran integration. At the same time, third-party bindings to many other languages exist on the internet, such as Rust, Zig, C#, OCaml, Odin, etc.), GPU (All major graphics/compute APIs: OpenGL, Vulkan, Direct3D 11/12, Metal, OpenCL, CUDA, WebGPU.), memory allocations, locks, context switches, automatically attribute screenshots to captured frames, and much more.
- Documentation for usage and build process instructions
- Releases containing the documentation (
tracy.pdf) and compiled Windows x64 binaries (Tracy-<version>.7z) as assets - Changelog
- Interactive demo
An Introduction to Tracy Profiler in C++ - Marcos Slomp - CppCon 2023
Introduction to Tracy Profiler v0.2
New features in Tracy Profiler v0.3
New features in Tracy Profiler v0.4
New features in Tracy Profiler v0.5
New features in Tracy Profiler v0.6
New features in Tracy Profiler v0.7
New features in Tracy Profiler v0.8



