mirror of
https://github.com/blender/blender
synced 2026-10-25 03:07:01 +03:00
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
21 lines
1.1 KiB
Text
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.
|