Jump to content

Memory exhaustion after viewing many models in DCS Encyclopedia


Worrazen

Recommended Posts

So I did some good memory observations to get to the bottom of some crashes I had due to low memory in recent months, I posted the initial findings on the General Question forum a couple of weeks ago.

 

This time I did an isolated test of only the Encyclopedia and made the recording much clearer without the DCS window being obstructed and a good look at all the numbers, the DCS is running at 1080p and downscaled to 720p.

This will be the setup for future tests as well, until I get more findings and then do a full (1440p) resolution test to see any difference (out of scope for this, that probably for perf).

 

 

Pagefile was on the main system SSD, not where DCS is installed, at 1024 MB for this test.

 

 

 


Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Link to comment
Share on other sites

one gig of paging file is nowhere near enough, set it to windows managed on your fastest drive, windows will use up to four times your ram for a paging file, it is dynamic it takes what it needs when it wants, if you restrict it to one gig you are asking for trouble and dcs will crash with out of memory error if paging file is too small. to test this turn off your paging file and dcs will never load


Edited by Auntystatic
Link to comment
Share on other sites

one gig of paging file is nowhere near enough, set it to windows managed on your fastest drive, windows will use up to four times your ram for a paging file, it is dynamic it takes what it needs when it wants, if you restrict it to one gig you are asking for trouble and dcs will crash with out of memory error if paging file is too small. to test this turn off your paging file and dcs will never load

 

That may indeed be the case, however, I was running with one gig since I put Win10 into practical use since January 2018 and I always had one gig, and I had no crashed with DCS until after november/december 2018, it's possible I simply didn't hit the "right buttons" to make these circumstances, so who knows.

 

A huge pagefile test is something I was about to do next, but look, throwing pagefile to solve an optimization issue, a clear cut such as this, is just not the right way of doing things any programmer/engineer you would ask, it is only for a workaround.

 

 

Infact this would have been all fine if you had a workstation with 128GB of RAM, and then it can be a feature which could be enabled to keep everything loaded in RAM, pretty much the whole game, not the full install, since you can only play one map at a time and maps are around 30GB or a bit more.

 

 

The unit texture memory management has to be tweaked for the scenario/circumstance purpose, a fix for this Encyclopedia case will not be okay for playing in a map where you have a lot of different units, you need those assets loaded so I wasn't even suggesting one fix would fix everything. In this case there's not much of a reason to have a lot of the stuff caches especially the nonrendered stuff and I don't see an option to choose livery or it may be a hotkey, what would be fair a practical and common sense fixed maximum count of units that can be cached in RAM for example 10, but that's about it, that would be fair.

 

Well not absolutely fixed, the memory management if it's smart enough can be programmed to adjust this number of max cached units in Encyclopedia, based on system resources, so it would be a safe number that would never go over the limit, and adjusted, so if you have 32GB RAM and 16GB VRAM, then you can have 30 units cached, for example, if you view a new one it would clear out the data of the oldest one, and so on.

 

 

Infact I still have screenshots of some of the memory details months and years ago and I don't remember it being that high on a normal basis and yes I was looking at Commit at those times too, I figured out this a long time ago, I'll try to find those pics, they may be in various old threads which may be hard to find right now, but they're certainly on my PC since I don't delete pretty much anything unless it's really useless.

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Link to comment
Share on other sites

New test with 32GB Pagefile - more tests next time.

 

 

Well sure it didn't crash, and sure it's not a realistic test as it was a torture test, so sure memory can go to pagefile it just isn't playable at all, sound glitches, huge lag.

 

 

That's pretty much where half the "stuttering" people report might come from, VRAM and pagefile trashing/swapping.

 

 

 

 

More observations:

 

Encyclopedia loads liveries randomly, it does not seem to load all of them at once.

 

The weird way windows memory works is that with a big pagefile being used only then does it "take more physical" memory apparently, the bottom bar from Resource Monitor did end up being fully green at one point (toward end) so the whole thing is very confusing, if Commit is real memory and InUse which is supposably Physical memory never went to max physical memory before but now under the conditions of a lot of memory being offloaded on the pagefile did, it could be some kind of weirdness going on that shows up, I don't trust these numbers really or labels, Now with a huge pagefile this "physical" memory has actually maxed out

completely at one point, and the Pagefile Usage % doesn't correspond to the

Commit Charge, if it's not going into RAM nor Pagefile then where is it going !?!?!?

 

Commit Charge must be important if things start crashing as the limit is reached, I'll have to go more reading the MS docs on memory again.

 

 

 

 

 

I'll just have to go and read full MS docs on windows memory model, I've done my own memory diagnostics utility in C# (which was compiled on win7 and doesn't run on win10) but yeah that was 3 years ago so I need a new refresh on this whole thing, but I doubt i'll be motivated enough to understand it like a pro C++ programmer, I suspect it may just be in the cheap things that make it confusing, the inoptimal terminology, discrepancies accross utilties using their own names for same numbers (no clear standard)

 

 

I'm making a new memory diag utility on Win10 and WPF this time, still it's using the Windows API's and their counters but maybe throughout the development I might figure some stuff out and maybe calculate and represent the numbers differently to give a better practical indication and much needed clearer overview.


Edited by Worrazen

Modules: A-10C I/II, F/A-18C, Mig-21Bis, M-2000C, AJS-37, Spitfire LF Mk. IX, P-47, FC3, SC, CA, WW2AP, CE2. Terrains: NTTR, Normandy, Persian Gulf, Syria

 

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...