explaingit

wolfpld/tracy

Analysis updated 2026-06-24

15,942C++Audience · developerComplexity · 4/5Setup · hard

TLDR

A real-time, nanosecond-resolution frame profiler for games and native apps that combines instrumentation, sampling, GPU, and memory tracking.

Mindmap

mindmap
  root((tracy))
    Inputs
      Source code markers
      Sampling captures
      GPU API hooks
    Outputs
      Live timeline view
      Frame screenshots
      Memory and lock graphs
    Use Cases
      Game frame profiling
      Engine bottleneck hunt
      Remote telemetry
    Tech Stack
      C++
      OpenGL
      Vulkan
      DirectX
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Profile a Unity or Unreal game build to find which CPU thread is causing frame spikes.

USE CASE 2

Add manual zones in a C++ engine to see how long each subsystem takes per frame.

USE CASE 3

Stream live profiling data from a game console dev kit to a desktop viewer.

USE CASE 4

Correlate captured screenshots with the exact frame that caused a stutter.

What is it built with?

C++OpenGLVulkanDirectXCUDA

How does it compare?

wolfpld/tracyimputnet/heliumgame1024/openspeedy
Stars15,94215,86615,860
LanguageC++C++C++
Setup difficultyhardeasyeasy
Complexity4/54/53/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Building the GUI viewer needs a C++ toolchain plus graphics SDK, and the client must be instrumented and rebuilt with Tracy headers.

In plain English

Tracy is a performance profiler aimed at game developers and others who need to understand exactly where their application is spending time. A profiler is a tool that records what your program is doing and when, so you can find and fix slowdowns. Tracy works in real time, it shows you a live timeline of your program's activity while it is running, with timing measurements down to the nanosecond (one billionth of a second). It is a hybrid profiler, meaning it combines two approaches: instrumentation (where you add specific markers in your code to track what you care about) and sampling (where it periodically takes snapshots of what code is running, without manual markers). It also supports remote telemetry, meaning the program being analyzed can run on a separate machine while you view the results on your development computer. Tracy can profile CPU activity across several programming languages including C, C++, Lua, Python, and Fortran, with community-made bindings for additional languages. It also profiles GPU activity across major graphics APIs listed in the readme, memory allocations, thread locks, and context switches (when the operating system switches between running different tasks). It can also automatically associate screenshots with specific frames, which is useful for tracking down visual glitches tied to performance spikes. It is primarily built for game development and is written in C++.

Copy-paste prompts

Prompt 1
Show me how to add Tracy zones in a C++ game loop to measure update, render, and physics separately.
Prompt 2
Walk me through hooking Tracy into a Vulkan renderer to capture GPU timestamps alongside CPU zones.
Prompt 3
Build Tracy on Windows with MSVC and connect it to a running app over the network.
Prompt 4
Compare Tracy against Optick and Perfetto for a small indie game studio and recommend one.

Frequently asked questions

What is tracy?

A real-time, nanosecond-resolution frame profiler for games and native apps that combines instrumentation, sampling, GPU, and memory tracking.

What language is tracy written in?

Mainly C++. The stack also includes C++, OpenGL, Vulkan.

How hard is tracy to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is tracy for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub wolfpld on gitmyhub

Verify against the repo before relying on details.