mirror of
https://github.com/wolfpld/tracy.git
synced 2024-11-10 02:31:48 +00:00
Frame profiler
gamedevgamedev-librarygamedevelopmentlibraryperformanceperformance-analysisprofilerprofilingprofiling-library
47a2512957
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. |
||
---|---|---|
.github | ||
.vscode | ||
capture | ||
common | ||
csvexport | ||
doc | ||
examples | ||
extra | ||
getopt | ||
icon | ||
imgui | ||
import-chrome | ||
library | ||
manual | ||
nfd | ||
profiler | ||
public | ||
server | ||
test | ||
update | ||
vcpkg | ||
zstd | ||
.gitignore | ||
AUTHORS | ||
CMakeLists.txt | ||
LICENSE | ||
meson_options.txt | ||
meson.build | ||
NEWS | ||
README.md | ||
TODO | ||
vcpkg.json |
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++, 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