3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/world/level/chunk/AverageTracker.h"
8#include "mc/world/level/chunk/TimeAccumulator.h"
26 ::ll::TypedStorage<8, 8, char const*> mGroup;
27 ::ll::TypedStorage<8, 8, char const*> mName;
28 ::ll::TypedStorage<1, 1, bool> mIsClient;
29 ::ll::TypedStorage<8, 8, ::std::chrono::nanoseconds> mElapsed;
42 enum class SortType :
int {
43 AverageTimeClient = 0,
46 AverageTimeServer = 3,
55 ::ll::TypedStorage<8, 24, ::TimeAccumulator> mTimeAccumulator;
56 ::ll::TypedStorage<8, 48, ::AverageTracker> mAverageTracker;
64 ::ll::TypedStorage<8, 32, ::std::string> mName;
65 ::ll::TypedStorage<1, 1, bool> bUseAverageTracker;
66 ::ll::TypedStorage<8, 72, ::ImguiProfiler::RecordGroup::Record> mClient;
67 ::ll::TypedStorage<8, 72, ::ImguiProfiler::RecordGroup::Record> mServer;
74 ::ll::TypedStorage<8, 24, ::std::vector<::ImguiProfiler::RecordGroup::FullStackRecord>> mRecords;
75 ::ll::TypedStorage<4, 4, ::ImguiProfiler::RecordGroup::SortType> mSortType;
81 MCAPI ::ImguiProfiler::RecordGroup::FullStackRecord& operator[](::std::string
const& name);
97 ::ll::TypedStorage<8, 8, char const*> mGroup;
98 ::ll::TypedStorage<8, 8, char const*> mName;
105 ::ll::TypedStorage<8, 8, char const*> mGroup;
106 ::ll::TypedStorage<8, 8, char const*> mName;
107 ::ll::TypedStorage<1, 1, bool> mIsClient;
108 ::ll::TypedStorage<8, 8, ::std::chrono::steady_clock::time_point> mStart;
114 virtual ~Timer() =
default;
128 ::ll::TypedStorage<1, 1, bool> mHasAddedRecord;
161 ::ll::TypedStorage<8, 16, ::std::map<::std::string, ::ImguiProfiler::RecordGroup>> mRecordGroups;
162 ::ll::TypedStorage<8, 80, ::std::mutex> mRecordGroupMutex;
168 virtual ~ImguiProfiler() =
default;
174 MCAPI ImguiProfiler();
176 MCAPI ::TimeAccumulator
177 getTimeAccumulator(::std::string
const& group, ::std::string
const& name,
bool isClientSide);
191 MCAPI static ::std::vector<::ImguiProfiler::Record>& sPendingRecords();
193 MCAPI
static int& sProduceRecords();
195 MCAPI static ::std::mutex& sRecordMutex();
Definition EnableNonOwnerReferences.h:7
Definition ImguiProfiler.h:124
static MCAPI void ** $vftable()
Definition ImguiProfiler.h:138
static MCAPI void ** $vftable()
Definition ImguiProfiler.h:85
static MCAPI void ** $vftable()
Definition ImguiProfiler.h:60
Definition ImguiProfiler.h:51
Definition ImguiProfiler.h:33
Definition ImguiProfiler.h:22
Definition ImguiProfiler.h:93
static MCAPI void ** $vftable()