Frame profiler
Go to file
Bartosz Taudul 47a2512957
Change namespace shortening to zone name shortening.
Namespace shortening was kinda ok for function names produced by MSVC, which
are generally clean looking. However, gcc/clang like to produce function names
which include template arguments, function parameters, return values, etc. In
such cases the old algorithm simply didn't work, because removal of everything
before the last :: could as well happen in midst of function parameters list.
The result was certainly not an usable function name.

With this new approach namespaces are no longer explicitly mentioned and this
functionality is simply called zone name shortening.

The user-selectable options were changed to make the shortening always
enabled, disabled, or to apply as needed. Note that the "as needed" approach
will be dynamic, trying to gradually remove more and more from the name, until
it fits in the requested area.

Current implementation is only the first step into making this work. In this
first step the function parameters are reduced to () and the template
arguments are reduced to <>. This alone greatly improves readability of the
zone names.

The option to reduce namespaces to one letter (i.e. std::tr1::hash would
become s:t:hash) will no longer be present, now or in the future.
2022-08-15 14:19:57 +02:00
.github Limit number of make jobs. 2022-07-02 17:46:36 +02:00
.vscode Add test application build and run configuration. 2022-04-30 19:02:47 +02:00
capture Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
common Target native architecture when making debug builds. 2022-08-08 18:47:47 +02:00
csvexport Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
doc Add symbol view screenshot. 2022-04-06 02:26:36 +02:00
examples Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
extra Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +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.88 + docking. 2022-06-21 22:18:01 +02:00
import-chrome Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
library Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
manual Update manual. 2022-08-04 19:17:24 +02:00
nfd Update nativefiledialog-extended to 3311592. 2022-07-17 16:22:27 +02:00
profiler Start extracting timeline height control logic. 2022-08-15 13:29:45 +02:00
public Properly terminate CPU model string. 2022-08-13 19:37:34 +02:00
server Change namespace shortening to zone name shortening. 2022-08-15 14:19:57 +02:00
test Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
update Move all client headers and sources to public/ directory. 2022-07-17 15:47:38 +02:00
vcpkg Fail with error code if install_vcpkg_dependencies.bat commands fail 2022-06-25 17:52:42 +02:00
zstd Bump zstd to 1.5.2. 2022-03-18 01:52:11 +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 Update CMakeLists.txt 2022-08-04 08:51:08 -03:00
LICENSE Update copyright date in LICENSE. 2022-01-01 17:43:38 +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. 2022-08-04 19:02:22 +02:00
README.md Mention C# bindings. 2022-07-23 12:46:39 +02:00
TODO Add TODO. 2020-01-08 18:16:17 +01: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.

  • Documentation for usage and build process instructions
  • Releases containing the documentation (tracy.pdf) and compiled Windows x64 binaries (Tracy-<version>.7z) as assets
  • Changelog

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