7#ifdef NC_PROFILING_ENABLED
9#if defined(NC_USE_TRACY)
11#include "tracy/Tracy.hpp"
20 explicit TaskMeasurement()
22 tracy::SetThreadName(
"NcEngine Worker");
25 ~TaskMeasurement() noexcept = default;
32#define NC_PROFILE_FRAME(name) FrameMark
35#define NC_PROFILE_SCOPE(name, category) ZoneScopedN(name)
38#define NC_PROFILE_TASK(name, category) \
39 const auto _ncTaskMeasurement ## __LINE__ = nc::detail::TaskMeasurement{}; \
40 NC_PROFILE_SCOPE(name, category)
42#elif defined(NC_USE_OPTICK)
48using ProfileCategory = Optick::Category;
55 explicit TaskMeasurement()
57 OPTICK_START_THREAD(
"NcEngine Worker");
60 ~TaskMeasurement() noexcept
70#define NC_PROFILE_FRAME(name) OPTICK_FRAME(name)
73#define NC_PROFILE_SCOPE(name, category) OPTICK_CATEGORY(name, category)
76#define NC_PROFILE_TASK(name, category) \
77 const auto _ncTaskMeasurement ## __LINE__ = nc::detail::TaskMeasurement{}; \
78 NC_PROFILE_SCOPE(name, category)
84#define NC_PROFILE_FRAME(name)
85#define NC_PROFILE_SCOPE(name, category)
86#define NC_PROFILE_TASK(name, category)