Frame profiler
Go to file
Bartosz Taudul f428a5b52b
Fix popup of collapsed items near timeline start.
There are various changes involved into making this work:

1. Zone size (zsz) is no longer clamped to the timeline viewport area.
   This clamping has to be removed to prevent otherwise uncollapsed zones
   from apparently becoming small near the viewport borders. Such a small
   zone would then be collapsed, resulting in unwanted popping.
   Interesingly, only the CPU zones were clamped before. GPU zones were
   not.
2. Iteration over visible zones has to start before the visible timeline
   viewport area. Without this some zones that would be otherwise
   included in the collapsed area (started by a previous zone) may be
   fully visible. This causes child zones to be drawn and produces
   unwanted popping. (At this point threshold for continuing collapsed
   area is greater than threshold for starting it.)
3. Since the iteration now starts before timeline visible area, it may so
   happen that everything found will be in a small slice of timeline that
   is outside the screen. To fix this, the end time of last found item is
   checked against the viewport start time.
   It is always valid to access *(zitend-1), as it is in each case done
   after null set check (it == zitend).

Similar but simpler fix was also applied to per-thread call stack samples.
2023-03-09 00:38:23 +01:00
.github Add more packages on CI. 2022-12-20 00:54:08 +01:00
.vscode Add test application build and run configuration. 2022-04-30 19:02:47 +02:00
capture Print active time in the capture utility. 2023-03-03 22:51:04 +01:00
common Allow manual disabling of libtbb linkage. 2022-09-29 01:41:35 +02:00
csvexport Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
doc Update screenshots. 2023-01-05 23:36:01 +01:00
dtl Add Diff Template Library 1.20. 2022-12-23 19:40:58 +01:00
examples Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
extra Move TracyVersion.hpp to common. 2022-08-27 16:05:36 +02:00
getopt Move getopt to root 2020-07-11 12:26:01 +03:00
icon Minimize SVG files. 2022-04-16 00:13:10 +02:00
imgui Update ImGui to 1.89.3 + docking. 2023-02-14 17:57:14 +01:00
import-chrome Import frame messages (#459) 2022-09-02 19:44:37 +02:00
library Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
manual Note new Vulkan context constructor in documentation 2023-03-05 17:37:32 +01:00
nfd Update nativefiledialog-extended to 3311592. 2022-07-17 16:22:27 +02:00
profiler No privilege elevation is possible on emscripten. 2023-02-20 21:36:18 +01:00
public Add support for configuring plots to C API. 2023-03-08 23:18:36 +01:00
server Fix popup of collapsed items near timeline start. 2023-03-09 00:38:23 +01:00
test Bump stb_image.h to 2.28. 2023-01-31 22:55:18 +01:00
update Move TracyVersion.hpp to common. 2022-08-27 16:05:36 +02:00
vcpkg Fail with error code if install_vcpkg_dependencies.bat commands fail 2022-06-25 17:52:42 +02:00
zstd Update zstd to 1.5.4. 2023-02-10 20:33:32 +01:00
.gitignore Add Vcpkg manifest + MSBuild integration 2022-05-09 10:42:10 +02:00
AUTHORS Update AUTHORS. 2022-02-11 20:22:53 +01:00
CMakeLists.txt CMake: Fix invalid syntax 2022-09-03 17:13:31 +02:00
LICENSE Update copyright year. 2023-01-09 00:22:22 +01:00
meson_options.txt Fix Meson options to match build 2022-06-28 12:00:09 -05:00
meson.build fixed includes 2022-07-28 18:36:07 -04:00
NEWS Update NEWS. 2023-03-05 19:42:20 +01:00
README.md Add interactive demo link. 2022-10-02 14:15:13 +02:00
vcpkg.json Remove vcpkg builtin-baseline 2022-06-04 16:26:22 +02:00

Tracy Profiler

Sponsor

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++, and Lua 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 graphic APIs: OpenGL, Vulkan, Direct3D 11/12, OpenCL.), memory allocations, locks, context switches, automatically attribute screenshots to captured frames, and much more.

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