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/chunk/AtomicTimeAccumulator.h"
11
12// auto generated forward declare list
13// clang-format off
14class ChunkPos;
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
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
39 struct PaletteData {
40 public:
41 // member variables
42 // NOLINTBEGIN
43 ::ll::TypedStorage<8, 8, uint64> mMin;
44 ::ll::TypedStorage<8, 8, uint64> mMax;
45 ::ll::TypedStorage<8, 8, double> mAverage;
46 // NOLINTEND
47 };
48
49public:
50 // member variables
51 // NOLINTBEGIN
52 ::ll::TypedStorage<8, 16, ::ChunkPerformanceData::AtomicMemoryAccumulator> mRenderChunkMemorySizePerformanceData;
53 ::ll::TypedStorage<8, 24, ::AtomicTimeAccumulator> mServerLevelChunkSaveTime;
54 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerLevelChunkChunksSavedCount;
55 ::ll::TypedStorage<4, 76, ::ChunkLoadTelemetryData> mChunkLoadTelemetryData;
56 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mBiomeFeaturePlaceCallsCount;
57 ::ll::TypedStorage<1, 1, bool> mShouldResetData;
58 ::ll::TypedStorage<4, 4, uint> mRenderChunkSharedCount;
59 ::ll::TypedStorage<4, 4, uint> mWeakRenderChunkSharedCount;
60 ::ll::TypedStorage<4, 4, uint> mRenderChunkSharedMemoryUsed;
61 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryCount;
62 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryBaseMemoryUsed;
63 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryVertexCount;
64 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryVertexBufferSize;
65 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryMeshVertexBufferSize;
66 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryFaceMetadataMemoryUsed;
67 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedCount;
68 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedBaseMemoryUsed;
69 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedIndexMemoryUsed;
70 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedDifferentGeoCount;
71 ::ll::TypedStorage<8, 8, uint64> mClientLevelChunkMemory;
72 ::ll::TypedStorage<8, 8, uint64> mServerLevelChunkMemory;
73 ::ll::TypedStorage<8, 8, uint64> mClientSynchedLevelChunkMemory;
74 ::ll::TypedStorage<8, 8, uint64> mServerSynchedLevelChunkMemory;
75 ::ll::TypedStorage<8, 8, uint64> mServerSubChunkLightDataMemory;
76 ::ll::TypedStorage<8, 8, uint64> mClientSubChunkLightDataMemory;
77 ::ll::TypedStorage<8, 8, uint64> mServerSubChunkBlockDataMemory;
78 ::ll::TypedStorage<8, 8, uint64> mClientSubChunkBlockDataMemory;
79 ::ll::TypedStorage<8, 8, uint64> mServerSynchedSubChunkBlockDataMemory;
80 ::ll::TypedStorage<8, 8, uint64> mClientSynchedSubChunkBlockDataMemory;
81 ::ll::TypedStorage<8, 8, uint64> mServerBiomeData3DMemory;
82 ::ll::TypedStorage<8, 8, uint64> mClientBiomeData3DMemory;
83 ::ll::TypedStorage<8, 8, uint64> mServerSynchedBiomeData3DMemory;
84 ::ll::TypedStorage<8, 8, uint64> mClientSynchedBiomeData3DMemory;
85 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mClientSubChunkPaletteData;
86 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mServerSubChunkPaletteData;
87 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mClientBiomePaletteData;
88 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mServerBiomePaletteData;
89 ::ll::TypedStorage<8, 8, uint64> mClientLevelChunkBlockTickingQueueMemory;
90 ::ll::TypedStorage<8, 8, uint64> mServerLevelChunkBlockTickingQueueMemory;
91 ::ll::TypedStorage<1, 1, bool> mIsFetchingRenderChunkData;
92 ::ll::TypedStorage<1, 1, bool> mIsFetchingClientLevelChunkData;
93 ::ll::TypedStorage<1, 1, bool> mIsFetchingServerLevelChunkData;
94 ::ll::TypedStorage<1, 1, bool> mIsFetchingClientSynchedLevelChunkData;
95 ::ll::TypedStorage<1, 1, bool> mIsFetchingServerSynchedLevelChunkData;
96 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>>
97 mClientChunkSourceLookupMap;
98 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>>
99 mServerChunkSourceLookupMap;
100 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksQueued;
101 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksSent;
102 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksExpired;
103 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mSubChunkHashInitializations;
104 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mSubChunkHashRecalculations;
105 ::ll::TypedStorage<4, 4, uint> mRenderDistance;
106 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoaded;
107 // NOLINTEND
108
109public:
110 // virtual functions
111 // NOLINTBEGIN
112 virtual ~ChunkPerformanceData() /*override*/ = default;
113
114 virtual void visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)>);
115
116 virtual void resetAll();
117 // NOLINTEND
118
119public:
120 // member functions
121 // NOLINTBEGIN
122 MCAPI ChunkPerformanceData();
123
124 MCAPI void _onChunkLoaded(::ChunkSource&, ::LevelChunk& levelChunk, int);
125
126 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
127 // NOLINTEND
128
129public:
130 // constructor thunks
131 // NOLINTBEGIN
132 MCAPI void* $ctor();
133 // NOLINTEND
134
135public:
136 // virtual function thunks
137 // NOLINTBEGIN
138 MCFOLD void $visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)>);
139
140 MCAPI void $resetAll();
141
142
143 // NOLINTEND
144
145public:
146 // vftables
147 // NOLINTBEGIN
148 MCAPI static void** $vftable();
149 // NOLINTEND
150};
Definition EnableNonOwnerReferences.h:7
static MCAPI void ** $vftable()
Definition ChunkPerformanceData.h:30
Definition ChunkPos.h:11
Definition ChunkSource.h:37
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunk.h:79
Definition function_ref.h:60
Definition ChunkPerformanceData.h:39
Definition ClientChunkPerformanceData.h:5