blender/extern/tracy_profiler/README.blender
Jonas Holzman 91b34aa63f Deps: Add Tracy Frame Profiler
This commit integrates the Tracy Frame Profiler within the dependency
builder for all platforms.

Reference:
- Tracy Frame Profiler Dependency Proposal #156220
- Proposal] Tracy implementation[^1]
- 2025-03-05 WorkGroup: Performance testing[^2]

This was split off from the main Tracy integration / experimentation
PR #139922 to only contain the dependency builder changes. With the
actual instrumentation codebase integration (BLI interface, base main
event loop profiling markup, deeper integration per-module, etc...)
coming in later PRs.

This commit adds both a `external_tracy` deps builder target to build
the Tracy Client as one of our pre-compiled dependencies, and a
`tracy_profiler` project target to allow developers to easily build the
standalone profiler GUI frontend on their own machine.

[^1]: https://devtalk.blender.org/t/proposal-tracy-implementation/44435
[^2]: https://devtalk.blender.org/t/2025-03-05-workgroup-performance-testing/44506

Pull Request: https://projects.blender.org/blender/blender/pulls/156661
2026-05-04 14:53:21 +02:00

21 lines
1.1 KiB
Text

Project: Tracy Frame Profiler
URL: https://github.com/wolfpld/tracy
License: SPDX:BSD-3-Clause
Copyright: Copyright (c) 2017-2025, Bartosz Taudul <wolf@nereid.pl>
Upstream version: cb84ba76ffd611e6c162040d0828f249
Local modifications: None
This extern target is only used to build the Tracy Profiler server/GUI frontend,
not the main Tracy client library, which is built as a pre-compiled library in
`build_files/build_environment/cmake/tracy.cmake`.
This target is not a dependency of Blender nor any other extern target, and is only
meant to be manually built by developers. As the Tracy repository does not provide
pre-built profiler frontend binaries for all platforms, this target is provided for
developers to conveniently build the profiler locally. Note that this target will
download required dependency packages (GLFW, ImGui, Capstone, etc...) from the
internet via CPM if they aren't available locally system-wide.
As such, an exception is made by naming the target `tracy_profiler` instead of
`extern_tracy_profiler` to allow developers to conveniently use `make/ninja tracy_profiler`
to optionally build it if desired.