Lix > Lix Main

Stop maps from crashing (OutOfMemoryError)

<< < (3/5) > >>

Simon:
Thanks, that's a good baseline. I agree how that RAM usage is scary.

I've spent the better part of today in the code, working on the replay/physics caching. Now, I call the garbage collector more often and return memory to the OS every time old states could be dropped from the cache.

Please pull from unstable, and build debug-replay (commit 3153eb07) and test:

* Does Lix eat as much RAM as you tested earlier today?
* Is this fixed? #294 Manual savestate, sporadic replay desync
* Is this fixed? #295 Savestate shouldn't preserve future when (don't keep replay after ◀▮)-- Simon

Forestidia86:

--- Quote from: Simon on January 28, 2018, 04:26:36 PM ---
* Is this fixed? #294 Manual savestate, sporadic replay desync
* Is this fixed? #295 Savestate shouldn't preserve future when (don't keep replay after ◀▮)
--- End quote ---

It doesn't seem to desync anymore with the method I found.
To preserving future: The case mentioned in the issue shouldn't work this way anyways since rewinding before an action cancels if you don't keep replay (, unless you've meant A,C instead of A,B in the end?). But you've mentioned another case in the thread, where you load instead of framestep back. Well loading cuts now all out what doesn't belong to the savestate (even if you have keep replay on and it's after the savestate), so with that the future replay is discarded as well.


--- Quote from: Simon on January 28, 2018, 04:26:36 PM ---
* Does Lix eat as much RAM as you tested earlier today?
--- End quote ---

Unfortunately RAM still rises high especially in the course of changing maps from time to time. Still got that error eventually.
I looked at the ressource monitor to have a more precise number for Lix' consumption and the highest with crash was ca. 1,4 GB. It really brought the RAM to the edge for my laptop but it was always more allocated for the game then used up as far as I could see. Although the computer had to care constantly for adjusting and increasing the allocation if necessary.

Simon:
Re 2 fixed replay bugs: Cool, thanks for confirming! Yeah, you're correct that #294's example is invalid. And you're correct that the second example (in other LF thread) is valid and fixed by the fix of #294.

Re RAM: That's a sad result, but certainly very valuable feedback. I can work on more manual memory management from the bottom upwards, but that will take lots of work, and makes the code more complicated.

Ideally, before shaving this yak, I'd get my hands on a Windows machine, see the RAM ballooning myself, and toying around with some debugging. Made issue on github: #296 RAM balloons to over 1.5 GB, Windows

-- Simon

Forestidia86:
I've tested with the newer laptop that has 8GB RAM.
I compared the behavior of 0.9.8 with your fix in the unstable.
And it looks like the fix has at least improved the situation:

With fix: I had at most 1,1 GB RAM used with changing maps a couple of times. I didn't seem to have this insane rising generally and seemed to be more stable.

0.9.8: Even on the first map rising to 1,5 GB RAM without doing anything, just waiting. Then nuke and change to "Infinitus (8p)" resulted in immediate crash. I had plenty of RAM still free, it seemed to have been more allocated to the game then used up by the game => nevertheless crash.

Forestidia86:
Attached video that shows Ressource Monitor, tab RAM, to show memory consumption of Lix 0.9.8 in huge multiplayer maps up to crash.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version