save game performance (small assessment, with different workaround)
Voutare
Join Date: 2017-01-27 Member: 227314Members
Hi,
I did some testing with a larger savegame, it's now 1.16GB.
And yes I now about the cache cleanup. I just don't like how everything is resetted all the time.
So I startet a new game yesterday with the jan 2017 version and played a lot.
In my opinion it seems to be 3 problems coming together, which do have workarounds.
Saving the game, after traveling, seems to release memory. If I can make a guess it releases all stuff you (or some fish) did,
but now is far enough away from you that the game really needs it at the moment.
But as the game only saves on command, it needs to keep this this in memory until you click save.
(If I am right, the developers might consider saving this in some temp folder within the save game to release the memory faster)
Second thing seems to be a memory leak, not extreme but large enough to be noticed after some time of playing.
I didn't test enough to know if quit to main menu is enough to release all the memory of the game, but it looked like it.
(Otherwise quit to desktop will)
Last thing for me is that it looks like the game has some sort of memory limit. On my machine it goes to something 2 GB and not higher.
Pity actually, as I don't have a fast machine but I have 8GB memory.
Marco
I did some testing with a larger savegame, it's now 1.16GB.
And yes I now about the cache cleanup. I just don't like how everything is resetted all the time.
So I startet a new game yesterday with the jan 2017 version and played a lot.
In my opinion it seems to be 3 problems coming together, which do have workarounds.
Saving the game, after traveling, seems to release memory. If I can make a guess it releases all stuff you (or some fish) did,
but now is far enough away from you that the game really needs it at the moment.
But as the game only saves on command, it needs to keep this this in memory until you click save.
(If I am right, the developers might consider saving this in some temp folder within the save game to release the memory faster)
Second thing seems to be a memory leak, not extreme but large enough to be noticed after some time of playing.
I didn't test enough to know if quit to main menu is enough to release all the memory of the game, but it looked like it.
(Otherwise quit to desktop will)
Last thing for me is that it looks like the game has some sort of memory limit. On my machine it goes to something 2 GB and not higher.
Pity actually, as I don't have a fast machine but I have 8GB memory.
Marco
Comments
Are you sure that 2GB is not video memory ? As Subnautica specifically had to drop x86 (32-bit) support as they couldn't stay under the 3.5-4 GB memory limit. To clarify, the Task Manager is saying you don't use more than 2GB for Subnautica?
I only checked the Taskmanager (Windows 10).
I looked at the process (a little below 2GB) and total memory usage of windows/game which was around 4GB.
> Where is your sourcing on any of this?
Like I said: "In my opinion" which also means I could be wrong.
Allthough I am a Programmer (Full-Time Job), I don't program Games or with C/C++.
PS.
Playing on the larger savegame is going fine when I save a lot. (And reload/restart the game when required or after a crash)
Ah, here, I did some research, and read this thread, I think if you try using the VMMap tool from the Microsoft Sysinternals Suite, you should be able to tell how much memory Subnautica is actually using, Task Manager doesn't count nearly enough.
Plus, there's a lot of tools in that suite that you, as a programmer, will probably find fantastic, I think (could be wrong, but hey, it's worth a shot). Even from a power user perspective, Autoruns, Process Explorer, TCPView, and many others, are invaluable. Go exploring, you won't regret it! (:
Thanks for the info, when I'm home again I'll take a look at what Subnatica is actually using.
As I'm programming Java, Windows utilities are usually not very usefull.
PS.
When I read correctly, subnautica uses the Unity Engine. And Unity has an Garbage Collector (optional?). If that GC is active and works similar to the one in Java, it would explain a little bit more of what I see.
The Java GC works decent/fine as long as you use up to like 90%/95% of max memory pool for the process. After that is shows a horrible side-effect. The GC is permanenty active (using a lot of CPU) to keep searching for even the most tiny object to recycle for the process to continue.
While playing subnautica on the somewhat larger savegame, after traveling some distance performance seems to drop down. But after saving it usually gone.
I *think* you can view the GC and other info with the F1 or F3 window in Subnautica (both are useful windows to look at).