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
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 virtual void visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)> visitor);
114
115 virtual void resetAll();
116 // NOLINTEND
117
118public:
119 // member functions
120 // NOLINTBEGIN
121 MCAPI ChunkPerformanceData();
122
123 MCAPI void _onChunkLoaded(::ChunkSource&, ::LevelChunk& levelChunk, int);
124
125 MCAPI void registerForLevelChunkEvents(::ILevelChunkEventManagerConnector& levelChunkEventManagerConnector);
126 // NOLINTEND
127
128public:
129 // constructor thunks
130 // NOLINTBEGIN
131 MCAPI void* $ctor();
132 // NOLINTEND
133
134public:
135 // virtual function thunks
136 // NOLINTBEGIN
137 MCFOLD void $visit(::brstd::function_ref<void(::ClientChunkPerformanceData&)> visitor);
138
139 MCAPI void $resetAll();
140
141
142 // NOLINTEND
143
144public:
145 // vftables
146 // NOLINTBEGIN
147 MCAPI static void** $vftable();
148 // NOLINTEND
149};
Definition EnableNonOwnerReferences.h:7
static MCAPI void ** $vftable()
Definition ChunkPerformanceData.h:30
Definition ChunkSource.h:38
Definition ClientChunkPerformanceData.h:5
Definition ILevelChunkEventManagerConnector.h:14
Definition LevelChunk.h:79
Definition function_ref.h:60
Definition ChunkPerformanceData.h:39