资讯动态

Tracy 帧分析器部署完整指南:一条主线编译三大平台,附跑通验证与踩坑速查

发布时间:2026/9/10 13:15:18 来源:尧图企业网站定制
Tracy 帧分析器部署完整指南一条主线编译三大平台附跑通验证与踩坑速查【免费下载链接】tracyFrame profiler项目地址: https://gitcode.com/GitHub_Trending/tr/tracyTracy 是一款纳米级精度的实时帧分析器frame profiler通过远程遥测方式采集应用的 CPU、GPU、内存与锁数据。本文解决的问题是把 Tracy 编译出来并连上目标应用这一件事给出一条 Windows / Linux / macOS 通用的编译主线、一张环境自检清单、以及用官方示例完成验证的步骤。适合第一次部署 Tracy 的 C/C 开发者读完后你能在自己机器上跑起分析器并抓到第一条时间线。先搞清楚 Tracy 是什么一句话定位Tracy 是一个客户端库 独立分析器进程的远程性能分析工具——把客户端库链进你的程序程序运行时通过 8086 端口把数据实时推送到分析器界面。核心能力CPU 区间zone分析纳秒级分辨率官方直接支持 C、C、Lua、Python、Fortran另有多种语言社区绑定GPU 分析覆盖主流图形/计算 APIOpenGL、Vulkan、Direct3D 11/12、Metal、OpenCL、CUDA、WebGPU内存分配追踪、锁竞争、上下文切换、vsync 采集可把截图自动归因到对应帧frame image默认关闭不定义TRACY_ENABLE时客户端库完全不产生开销生产构建无感分析器主界面长这样时间线、线程区、GPU 区一目了然动手前环境自检清单三个平台的差异集中在依赖项上先对照下表打勾比编译失败后回头补装省事平台必备可选WindowsMSVCVisual Studio 2019/2022、CMake ≥ 3.13、64 位环境Windows SDKLinuxgcc/clang、CMake ≥ 3.13、git、pkg-config、libxkbcommon、libwayland含 client/cursor、libglvnd 或 libeglwayland-protocols缺失时 CMake 会自动下载、dbus文件选择器macOSXcode Command Line Tools、CMake ≥ 3.13、gitHomebrew用于补 CMake两个容易忽略的共性要求CMake 配置阶段需要联网且需要git第三方依赖imgui 等是在 configure 时通过 cmake/CPM.cmake 拉取的。首次执行前建议设置缓存目录之后重配、断网都能复用export CPM_SOURCE_CACHE$HOME/.tracy-cpm-cache只支持 64 位分析器服务端按 64 位设计32 位系统不受支持。Debian/Ubuntu 上一次性装齐 Linux 依赖sudo apt install git cmake g pkg-config libxkbcommon-dev libwayland-dev libegl-dev一条主线编译三大平台关键认知仓库根目录的 CMakeLists.txt只负责 TracyClient 库的工程集成分析器可执行文件由 profiler/ 子目录独立构建。所以下面这条主线三个平台完全一致不需要分平台复制粘贴获取源码git clone https://gitcode.com/GitHub_Trending/tr/tracy cd tracy配置构建目录以分析器为目标cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPERelease编译cmake --build profiler/build --config Release --parallel构建目录可以反复复用后续源码更新后直接重跑第 3 步即可无需重新配置。平台差异对照项目WindowsLinuxmacOS窗口后端GLFWWayland默认支持 HiDPI/高精度输入X11 需加-DLEGACYONGLFW产物位置profiler\build\Release\Tracy.exeprofiler/build/Tracyprofiler/build/Tracy系统依赖处理ws2_32等由 CMake 自动链接需预装上表 Wayland 相关开发包链接系统框架一般零配置编译器MSVCgcc 或 clangApple ClangLinux 走 X11 的配置写法cmake -B profiler/build -S profiler -DCMAKE_BUILD_TYPERelease -DLEGACYON跑通验证用官方 fibers 示例连接分析器部署是否成功标准只有一个程序运行时分析器界面出现连接和时间线。仓库自带的 examples/fibers.cpp 是最小验证用例——两个线程各跑 1 秒、创建 Tracy 区间源码头部注释里就写了编译命令。第一步启动分析器./profiler/build/Tracy # Windows 下为 profiler\build\Release\Tracy.exe第二步编译并运行 fibers 示例Linux/macOS在examples/目录下g fibers.cpp ../public/TracyClient.cpp -I../public/tracy -DTRACY_ENABLE -DTRACY_FIBERS -lpthread -ldl -o fibers ./fibersWindowsMSVC 开发者命令行同目录cl /EHsc /DTRACY_ENABLE /DTRACY_FIBERS /I..\public\tracy fibers.cpp ..\public\TracyClient.cpp /link ws2_32.lib fibers.exe✅ 预期结果fibers 启动后分析器通过网络广播自动发现本地客户端并建立连接默认端口 8086界面中会出现job1线程及其 zone程序退出后数据仍留在界面中可离线缩放查看。踩坑速查表按现象 → 原因 → 处理整理编译期与运行期问题都在这里现象原因处理configure 阶段下载依赖失败依赖拉取需要网络 git装git、确认网络设置CPM_SOURCE_CACHE缓存之后可离线重配只编出了 TracyClient没有 Tracy 可执行文件误用根目录 CMake 工程它只做库集成按一条主线从profiler/目录构建Linux 下 wayland 协议找不到或版本过旧发行版 wayland 版本低安装 wayland-protocols 开发包或让 CMake 自动下载编译通过但程序运行时没有任何数据TRACY_ENABLE未定义客户端默认关闭构建应用时加-DTRACY_ENABLE链接期报符号名不匹配后缀不一致客户端库与应用的构建选项不一致对齐两侧全部TRACY_*选项缩写定义见 public/client/TracyMangle.hpp虚拟机内报CPU doesnt support invariant TSC等时钟错误无可用硬件定时器用-DTRACY_TIMER_FALLBACK重编应用低精度回退时钟程序太短命分析器还没来得及连接就退出了默认随进程退出断开设置环境变量TRACY_NO_EXIT1程序会等待连接32 位系统上构建/运行异常服务端仅支持 64 位换 64 位环境⚠️ 特别提醒第一条官方手册明确说大多数情况下无需手动安装额外第三方库CMake 会自动下载装一堆依赖反而往往是配置路径没走对。延伸阅读官方完整手册含集成、构建、各功能详解manual/tracy.md版本更新日志NEWS示例程序目录fibers、ToyPathTracer、OpenGL/WebGPU 三角形、CUDA 等examples/客户端库源码接入 Tracy 时主要看这里public/分析器主体源码profiler/src/辅助工具离线符号解析、捕获回放update/、capture/【免费下载链接】tracyFrame profiler项目地址: https://gitcode.com/GitHub_Trending/tr/tracy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价