30 class AtomicMemoryAccumulator {
34 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mCount;
35 ::ll::TypedStorage<8, 8, ::std::atomic<uint64>> mMemorySum;
41 MCAPI AtomicMemoryAccumulator();
44 MCAPI
void addMemory(uint64 memoryUsage);
47 MCAPI uint64 getMemoryAverage()
const;
61 ::ll::TypedStorage<8, 8, uint64> mMin;
62 ::ll::TypedStorage<8, 8, uint64> mMax;
63 ::ll::TypedStorage<8, 8, double> mAverage;
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;
129 virtual ~ChunkPerformanceData() ;
137 virtual void resetAll();
143 MCAPI ChunkPerformanceData();
167 MCAPI
void $resetAll();