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