Implement the option to cache/allocate RAM more agressively
CheekySparrow
Russia, Sochi Join Date: 2016-08-26 Member: 221730Members
Yesterday I installed Subnautica, and I absolutely loved the game. However, it stuttered like crazy. I have somewhat oldish PC, with only 6 GB RAM, Radeon HD7870 2GB. However I noticed that FPS themselves were okay, it was jsut the stutter that made the game unplayable (I turn my head, - bang - game freezes for half a second.). Naturally I decided that game was streaming assets from Hard drive, because my RAM was lacking. I went and bought another 3 sticks of RAM (4x3=12, yes, it's triple channel)
I came home and fired the game up - now I had something like 18 GB RAM and I was sure the stutters would be no more. I was wrong. They did lessen, but they were definitely there. I checked the Task Manager and 66% of RAM was free, Subnautica itself using no more than 2.5 GB.
Then Imoved the entire Subnautica folder (11 GB) into Ramdisk, and been enjoying seamless game experience ever since.
However, this is rather unwieldy solution, I have to manually copy the savegames from Ramdisk, and in case of outage all my progress would be lost. Then it dawned upon me that I was basically doing what the game itself should be doing - put the heavy and frequently used assets into memory, creating a cache and enabling fast access.
Why it is not implemented in the game itself (grab as many memory as possible and cache based on frequency)? Limitations of Unity? Any insights would be much welcome.
I came home and fired the game up - now I had something like 18 GB RAM and I was sure the stutters would be no more. I was wrong. They did lessen, but they were definitely there. I checked the Task Manager and 66% of RAM was free, Subnautica itself using no more than 2.5 GB.
Then Imoved the entire Subnautica folder (11 GB) into Ramdisk, and been enjoying seamless game experience ever since.
However, this is rather unwieldy solution, I have to manually copy the savegames from Ramdisk, and in case of outage all my progress would be lost. Then it dawned upon me that I was basically doing what the game itself should be doing - put the heavy and frequently used assets into memory, creating a cache and enabling fast access.
Why it is not implemented in the game itself (grab as many memory as possible and cache based on frequency)? Limitations of Unity? Any insights would be much welcome.
Comments