Frame profiler
Go to file
Bartosz Taudul b0fc0d5dcc
Check if rpmalloc has to be initialized before each operation.
The C++11 spec states in [basic.stc.thread] thread storage duration:

2. A variable with thread storage duration shall be initialized before its
   first odr-use (3.2) and, if constructed, shall be destroyed on thread exit.

Previously Tracy relied on the TLS data being initialized:
- During thread creation (MSVC).
- Or during first use in a thread, but the initialization was performed for
  the whole TLS block.

It seems that new compilers are more granular with how they perform the
initialization, hence rpmalloc init has to be checked before each allocation,
as it cannot be "folded" into, for example, initialization of the profiler
itself.
2021-05-31 02:31:42 +02:00
.github Use more recent setup-msbuild action. 2020-11-06 01:29:35 +01:00
.vscode Add minimal vscode configuration. 2020-08-15 02:10:14 +02:00
capture Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
client Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
common Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
csvexport Add zstd dict builder. 2021-05-15 14:56:38 +02:00
doc Update second screenshot. 2021-01-22 02:54:01 +01:00
examples The ToyPathTracer example uses the D3D11 GPU zones 2021-05-01 17:31:49 -07:00
extra Add utility for trace version identification. 2021-05-18 02:49:41 +02:00
getopt Move getopt to root 2020-07-11 12:26:01 +03:00
icon Recompress public facing PNG images. 2020-09-24 01:31:24 +02:00
imgui Optimizer IM_FIXNORMAL2F. 2021-05-01 18:10:29 +02:00
import-chrome Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
libbacktrace Update libbacktrace to dedbe13fda. 2021-01-31 15:19:30 +01:00
library Update all sln files to MSVC 2019. 2021-01-26 20:24:47 +01:00
manual Documentation for CMake FetchContent support 2021-05-30 12:51:04 +02:00
nfd Set owner of file dialogs on windows. 2020-06-10 01:52:17 +02:00
profiler Move TracyYield.hpp to common. 2021-05-31 02:19:35 +02:00
server Move TracyYield.hpp to common. 2021-05-31 02:19:35 +02:00
test Custom allocator test. 2020-09-24 01:31:23 +02:00
update Add interface for frame images dict building. 2021-05-15 15:50:20 +02:00
vcpkg Add -disableMetrics to vcpkg script 2020-05-02 14:52:57 -07:00
zstd Cherry-pick https://github.com/facebook/zstd/pull/2653 2021-05-18 02:10:30 +02:00
.gitignore Add build automation script. 2021-02-06 23:57:14 +01:00
AUTHORS Updated authors 2021-05-01 16:31:06 -07:00
CMakeLists.txt Provide CMake TracyClient header only library 2021-05-30 12:45:16 +02:00
LICENSE Update email. 2021-02-10 02:43:05 +01:00
NEWS Update NEWS. 2021-05-22 01:12:33 +02:00
README.md Updated README.md 2021-05-01 16:56:52 -07:00
TODO Add TODO. 2020-01-08 18:16:17 +01:00
Tracy.hpp Updated as suggested by wolf in the PR 2021-05-01 14:55:45 -07:00
TracyC.h Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyClient.cpp Explicitly state which default-linked libraries are needed. 2021-01-13 01:42:48 +01:00
TracyD3D11.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyD3D12.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyLua.hpp Send callstacks before sending events they belong to. 2020-09-29 16:40:19 +02:00
TracyOpenCL.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyOpenGL.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +02:00
TracyVulkan.hpp Check if rpmalloc has to be initialized before each operation. 2021-05-31 02:31:42 +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 (C, C++11, Lua), GPU (OpenGL, Vulkan, OpenCL, Direct3D 11/12), memory, locks, context switches, per-frame screenshots and more.

For usage and build process instructions, consult the user manual at the following address.

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