We’re seeing a pretty hefty spike of memory usage right after a level finishes loading due to upload buffers. According to memory insights using the “Decline” view over the first second of gameplay I’m seeing this:
67108864 D3D12AllocatorUnused Nanite.PageUploadBuffer
67108864 Nanite Nanite.PageUploadBuffer
33554432 DistanceFields DistanceFields.BrickUploadDataBuffer
33554432 D3D12AllocatorUnused PrimitiveUploadBuffer
33554432 GPUScene PrimitiveUploadBuffer
33554432 D3D12AllocatorUnused DistanceFields.BrickUploadDataBuffer
8388608 DistanceFields DistanceFields.DFObjectDataUploadBuffer
8388608 Nanite Nanite.StreamingManager.HierarchyUpload
Which equates to about 270mb of buffers that get allocated and then are freed within a second. I’m not sure if the “unused” versions are double counting this memory if it’s actually allocating twice
Is there a way to control the size of these buffers?
Is there also a way to do all of this uploading during the loading phase rather than right after gameplay starts? Having some way to start the uploads and check if they’re complete would be enough.