Hi,
I collected memory data for a single game session that loads a level and unloads it (unloads it by loading a different empty level) and running memreport -full every time the level is loaded. After repeating this 30 times we saw that even though the number of actors, game objects, materials, meshes, etc, remains constant, the some memory stats continue to climb.
Comparing the first memreport and the last one we found that even though almost everything remains the same, there were large differences in these stats:
Before:
LogMemory: Platform Memory Stats for WindowsNoEditor
LogMemory: Process Physical Memory: 1412.34 MB used, 1426.30 MB peak
LogMemory: Process Virtual Memory: 1458.97 MB used, 1537.60 MB peak
LogMemory: Physical Memory: 11549.00 MB used, 32727.27 MB total
LogMemory: Virtual Memory: 1870.45 MB used, 8388608.00 MB total
LogMemory: 481876 - ViewState memory - STAT_ViewStateMemory - STATGROUP_SceneMemory - STATCAT_Advanced
LogMemory: 6105436 - Navigation Memory - STAT_NavigationMemory - STATGROUP_Memory - STATCAT_Advanced
After:
LogMemory: Platform Memory Stats for WindowsNoEditor
LogMemory: Process Physical Memory: 1466.21 MB used, 1500.75 MB peak
LogMemory: Process Virtual Memory: 1505.86 MB used, 1542.03 MB peak
LogMemory: Physical Memory: 11785.49 MB used, 32727.27 MB total
LogMemory: Virtual Memory: 1904.60 MB used, 8388608.00 MB total
LogMemory: 1244156 - ViewState memory - STAT_ViewStateMemory - STATGROUP_SceneMemory - STATCAT_Advanced
LogMemory: 7493916 - Navigation Memory - STAT_NavigationMemory - STATGROUP_Memory - STATCAT_Advanced
Are there any known issues that would explain this? What areas of the engine should I look into in order to find what is causing these leaks?
There is nowhere in our code where we allocate memory for anything other than an actor or game object.
Thanks,
Franco