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
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<1, 1, bool> mShouldResetData;
57 ::ll::TypedStorage<4, 4, uint> mRenderChunkSharedCount;
58 ::ll::TypedStorage<4, 4, uint> mWeakRenderChunkSharedCount;
59 ::ll::TypedStorage<4, 4, uint> mRenderChunkSharedMemoryUsed;
60 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryCount;
61 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryBaseMemoryUsed;
62 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryVertexCount;
63 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryVertexBufferSize;
64 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryMeshVertexBufferSize;
65 ::ll::TypedStorage<4, 4, uint> mRenderChunkGeometryFaceMetadataMemoryUsed;
66 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedCount;
67 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedBaseMemoryUsed;
68 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedIndexMemoryUsed;
69 ::ll::TypedStorage<4, 4, uint> mRenderChunkInstancedDifferentGeoCount;
70 ::ll::TypedStorage<8, 8, uint64> mClientLevelChunkMemory;
71 ::ll::TypedStorage<8, 8, uint64> mServerLevelChunkMemory;
72 ::ll::TypedStorage<8, 8, uint64> mClientSynchedLevelChunkMemory;
73 ::ll::TypedStorage<8, 8, uint64> mServerSynchedLevelChunkMemory;
74 ::ll::TypedStorage<8, 8, uint64> mServerSubChunkLightDataMemory;
75 ::ll::TypedStorage<8, 8, uint64> mClientSubChunkLightDataMemory;
76 ::ll::TypedStorage<8, 8, uint64> mServerSubChunkBlockDataMemory;
77 ::ll::TypedStorage<8, 8, uint64> mClientSubChunkBlockDataMemory;
78 ::ll::TypedStorage<8, 8, uint64> mServerSynchedSubChunkBlockDataMemory;
79 ::ll::TypedStorage<8, 8, uint64> mClientSynchedSubChunkBlockDataMemory;
80 ::ll::TypedStorage<8, 8, uint64> mServerBiomeData3DMemory;
81 ::ll::TypedStorage<8, 8, uint64> mClientBiomeData3DMemory;
82 ::ll::TypedStorage<8, 8, uint64> mServerSynchedBiomeData3DMemory;
83 ::ll::TypedStorage<8, 8, uint64> mClientSynchedBiomeData3DMemory;
84 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mClientSubChunkPaletteData;
85 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mServerSubChunkPaletteData;
86 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mClientBiomePaletteData;
87 ::ll::TypedStorage<8, 24, ::ChunkPerformanceData::PaletteData> mServerBiomePaletteData;
88 ::ll::TypedStorage<8, 8, uint64> mClientLevelChunkBlockTickingQueueMemory;
89 ::ll::TypedStorage<8, 8, uint64> mServerLevelChunkBlockTickingQueueMemory;
90 ::ll::TypedStorage<1, 1, bool> mIsFetchingRenderChunkData;
91 ::ll::TypedStorage<1, 1, bool> mIsFetchingClientLevelChunkData;
92 ::ll::TypedStorage<1, 1, bool> mIsFetchingServerLevelChunkData;
93 ::ll::TypedStorage<1, 1, bool> mIsFetchingClientSynchedLevelChunkData;
94 ::ll::TypedStorage<1, 1, bool> mIsFetchingServerSynchedLevelChunkData;
95 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>>
96 mClientChunkSourceLookupMap;
97 ::ll::TypedStorage<8, 64, ::std::unordered_map<::ChunkPos, ::std::weak_ptr<::LevelChunk>>>
98 mServerChunkSourceLookupMap;
99 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksQueued;
100 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksSent;
101 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mServerChunksExpired;
102 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mSubChunkHashInitializations;
103 ::ll::TypedStorage<4, 4, ::std::atomic<uint>> mSubChunkHashRecalculations;
104 ::ll::TypedStorage<4, 4, uint> mRenderDistance;
105 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChunkLoaded;
106 // NOLINTEND
107
108public:
109 // virtual functions
110 // NOLINTBEGIN
111 virtual ~ChunkPerformanceData() /*override*/ = default;
112
113#ifdef LL_PLAT_S
114 virtual void visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)>);
115#else // LL_PLAT_C
116 virtual void visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)> visitor);
117#endif
118
119 virtual void resetAll();
120 // NOLINTEND
121
122public:
123 // member functions
124 // NOLINTBEGIN
125 MCAPI void _onChunkLoaded(::ChunkSource&, ::LevelChunk& levelChunk, int);
126
127 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
128 // NOLINTEND
129
130public:
131 // virtual function thunks
132 // NOLINTBEGIN
133#ifdef LL_PLAT_S
134 MCFOLD void $visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)>);
135#else // LL_PLAT_C
136 MCFOLD void $visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)> visitor);
137#endif
138
139 MCAPI void $resetAll();
140
141
142 // NOLINTEND
143};
Definition EnableNonOwnerReferences.h:7
Definition ChunkPerformanceData.h:30
Definition ChunkSource.h:36
Definition ClientChunkPerformanceData.h:5
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunk.h:77
Definition function_ref.h:60
Definition ChunkPerformanceData.h:39
Definition ChunkPerformanceData.h:21