LeviLamina
Loading...
Searching...
No Matches
ChunkPerformanceData.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
8#include "mc/events/ChunkLoadTelemetryData.h"
9#include "mc/platform/brstd/function_ref.h"
10#include "mc/world/level/ChunkPos.h"
11#include "mc/world/level/chunk/AtomicTimeAccumulator.h"
12
13// auto generated forward declare list
14// clang-format off
15class ChunkSource;
17class LevelChunk;
19// clang-format on
20
21struct ChunkPerformanceData : public ::Bedrock::EnableNonOwnerReferences {
22public:
23 // ChunkPerformanceData inner types declare
24 // clang-format off
26 struct PaletteData;
27 // clang-format on
28
29 // ChunkPerformanceData inner types define
30 class AtomicMemoryAccumulator {
31 public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mCount;
35 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mMemorySum;
36 // NOLINTEND
37
38 public:
39 // member functions
40 // NOLINTBEGIN
41 MCAPI AtomicMemoryAccumulator();
42
43#ifdef LL_PLAT_C
44 MCAPI void addMemory(uint64 memoryUsage);
45#endif
46
47 MCAPI uint64 getMemoryAverage() const;
48 // NOLINTEND
49
50 public:
51 // constructor thunks
52 // NOLINTBEGIN
53 MCFOLD void* $ctor();
54 // NOLINTEND
55 };
56
57 struct PaletteData {
58 public:
59 // member variables
60 // NOLINTBEGIN
61 ::ll::TypedStorage<8, 8, uint64> mMin;
62 ::ll::TypedStorage<8, 8, uint64> mMax;
63 ::ll::TypedStorage<8, 8, double> mAverage;
64 // NOLINTEND
65 };
66
67public:
68 // member variables
69 // NOLINTBEGIN
70 ::ll::TypedStorage<8, 16, ::ChunkPerformanceData::AtomicMemoryAccumulator> mRenderChunkMemorySizePerformanceData;
71 ::ll::TypedStorage<8, 24, ::AtomicTimeAccumulator> mServerLevelChunkSaveTime;
72 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerLevelChunkChunksSavedCount;
73 ::ll::TypedStorage<4, 76, ::ChunkLoadTelemetryData> mChunkLoadTelemetryData;
74 ::ll::TypedStorage<1, 1, bool> mShouldResetData;
75 ::ll::TypedStorage<4, 4, uint> mRenderChunkSharedCount;
76 ::ll::TypedStorage<4, 4, uint> mWeakRenderChunkSharedCount;
77 ::ll::TypedStorage<4, 4, uint> mRenderChunkSharedMemoryUsed;
78 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryCount;
79 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryBaseMemoryUsed;
80 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryVertexCount;
81 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryVertexBufferSize;
82 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryMeshVertexBufferSize;
83 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryFaceMetadataMemoryUsed;
84 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedCount;
85 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedBaseMemoryUsed;
86 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedIndexMemoryUsed;
87 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedDifferentGeoCount;
88 ::ll::TypedStorage<8, 8, uint64> mClientLevelChunkMemory;
89 ::ll::TypedStorage<8, 8, uint64> mServerLevelChunkMemory;
90 ::ll::TypedStorage<8, 8, uint64> mClientSynchedLevelChunkMemory;
91 ::ll::TypedStorage<8, 8, uint64> mServerSynchedLevelChunkMemory;
92 ::ll::TypedStorage<8, 8, uint64> mServerSubChunkLightDataMemory;
93 ::ll::TypedStorage<8, 8, uint64> mClientSubChunkLightDataMemory;
94 ::ll::TypedStorage<8, 8, uint64> mServerSubChunkBlockDataMemory;
95 ::ll::TypedStorage<8, 8, uint64> mClientSubChunkBlockDataMemory;
96 ::ll::TypedStorage<8, 8, uint64> mServerSynchedSubChunkBlockDataMemory;
97 ::ll::TypedStorage<8, 8, uint64> mClientSynchedSubChunkBlockDataMemory;
98 ::ll::TypedStorage<8, 8, uint64> mServerBiomeData3DMemory;
99 ::ll::TypedStorage<8, 8, uint64> mClientBiomeData3DMemory;
100 ::ll::TypedStorage<8, 8, uint64> mServerSynchedBiomeData3DMemory;
101 ::ll::TypedStorage<8, 8, uint64> mClientSynchedBiomeData3DMemory;
102 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mClientSubChunkPaletteData;
103 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mServerSubChunkPaletteData;
104 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mClientBiomePaletteData;
105 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mServerBiomePaletteData;
106 ::ll::TypedStorage<8, 8, uint64> mClientLevelChunkBlockTickingQueueMemory;
107 ::ll::TypedStorage<8, 8, uint64> mServerLevelChunkBlockTickingQueueMemory;
108 ::ll::TypedStorage<1, 1, bool> mIsFetchingRenderChunkData;
109 ::ll::TypedStorage<1, 1, bool> mIsFetchingClientLevelChunkData;
110 ::ll::TypedStorage<1, 1, bool> mIsFetchingServerLevelChunkData;
111 ::ll::TypedStorage<1, 1, bool> mIsFetchingClientSynchedLevelChunkData;
112 ::ll::TypedStorage<1, 1, bool> mIsFetchingServerSynchedLevelChunkData;
113 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>>
114 mClientChunkSourceLookupMap;
115 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>>
116 mServerChunkSourceLookupMap;
117 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksQueued;
118 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksSent;
119 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksExpired;
120 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mSubChunkHashInitializations;
121 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mSubChunkHashRecalculations;
122 ::ll::TypedStorage<4, 4, uint> mRenderDistance;
123 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoaded;
124 // NOLINTEND
125
126public:
127 // virtual functions
128 // NOLINTBEGIN
129 virtual ~ChunkPerformanceData() /*override*/;
130
131#ifdef LL_PLAT_S
132 virtual void visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)>);
133#else // LL_PLAT_C
134 virtual void visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)> visitor);
135#endif
136
137 virtual void resetAll();
138 // NOLINTEND
139
140public:
141 // member functions
142 // NOLINTBEGIN
143 MCAPI ChunkPerformanceData();
144
145 MCAPI void _onChunkLoaded(::ChunkSource& levelChunk, ::LevelChunk&, int);
146
147 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
148 // NOLINTEND
149
150public:
151 // constructor thunks
152 // NOLINTBEGIN
153 MCAPI void* $ctor();
154 // NOLINTEND
155
156public:
157 // destructor thunk
158 // NOLINTBEGIN
159 MCAPI void $dtor();
160 // NOLINTEND
161
162public:
163 // virtual function thunks
164 // NOLINTBEGIN
165 MCFOLD void $visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)>);
166
167 MCAPI void $resetAll();
168
169
170 // NOLINTEND
171
172public:
173 // vftables
174 // NOLINTBEGIN
175 MCAPI static void** $vftable();
176 // NOLINTEND
177};
Definition EnableNonOwnerReferences.h:7
static MCAPI void ** $vftable()
Definition ChunkPerformanceData.h:30
Definition ChunkSource.h:37
Definition ClientChunkPerformanceData.h:5
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunk.h:87
Definition function_ref.h:60
Definition ChunkPerformanceData.h:57