how to force more ram use?

So here are my breif specs

2 MSI Gaming GTX980 in SLI

128Gb ram

M2.0 Samsung SSD

intel i7 processor.

 

when i play the larger maps and get deeper into the game i notice a lot of slow down between turns. when i look at usage my graphics memory and gpu are totally maxed, but only 6gb of system ram is being used and only 30% of my cpu being used.

 

is there a way to force the game to use more system resources instead(or as well) as the video cards?

37,464 views 8 replies
Reply #1 Top

Short answer, no.  

The memory allocation is what is needed to run the mapsize you are running.  It will increase over the run of an individual game to account for additional ships, improvements, starbases, etc.  If you forced it to allocate more memory somehow, there would be nothing for that memory to do.

CPU usage mystifies me.  I understand the game is threaded and supposedly distributing load across however many cores/threads you have.  I see activity on a few cores, but total usage is like you report, if that much, on my 8 core chip.  My only conclusion is that AI factions doing their "Thinking" during your turn's idle cycles is somewhat of a myth.  I certainly cannot demonstrate to my satisfaction that there is anything significant happening along those lines.

My question becomes this: If I walk away from the game for an hour, will the AI be doing any kind of deep dive analysis and make a more informed decision?  Or, is it effectively wasting time just like every other 4X game?  If anyone could speak to that, I would be very interested.  I have always thought it was the former, but I couldn't prove it to you if I had to.

Reply #2 Top

Typically on insane maps with max players (AI) I'm normally running 10-12 gb of memory used, depending on progress of game it may jump near the high end, or fall below the low end.  The game typically evenly is using all my cores throughout the game with a higher load on any core minimal.

Reply #3 Top

"The memory allocation is what is needed to run the mapsize you are running.  It will increase over the run of an individual game to account for additional ships, improvements, starbases, etc. "


If this is the case then why is my game running so slowly? 

Maybe the better question would be is there a way to have the game manage resources better? Instead of maxing out my video cards

Reply #4 Top

I cannot imagine GC3 maxing out a GPU card based on graphics load imposed in an early game map.  It is a wonderfully pretty game, but it is not graphics intensive like shooter games. You can compare specs and experience with Seilore if you are attempting high faction big maps.  My first level completely uninformed guess is that something else is throttling your GPU and GalCiv is taking a back seat to that when it tries to draw things.  It is impossible for anyone to guess without some better understanding of what you mean by slowness between turns. There is an acknowledged increasing delay there, based on object count and increasing visibility.  There is ongoing incremental optimization work in progress in general, but you may have a system specific situation.

One thing I do not trust is SLI configurations.  If there is a way to temporarily disable that, I would check it just to eliminate a variable.  If you are experienced and comfortable with your SLI config, ignore me. Again, GalCiv shouldn't be doing anything to need that kind of graphics power unless you are feeding multiple 4K monitors or something.  And that is just a silly setup for GC3, as well as jealousy-inducing OP.

Reply #5 Top

It's not early game I am having issues. It's deep into play that I am. Nothing else is running, when I close GC3 my vid card usage drops to almost nothing. I have also tried without SLI with the problem being worse. It is almost like the game is using the GPU instead of the CPU to do the work

Reply #6 Top

Quoting canadian_rocker2008, reply 5

It's not early game I am having issues. It's deep into play that I am. Nothing else is running, when I close GC3 my vid card usage drops to almost nothing. I have also tried without SLI with the problem being worse. It is almost like the game is using the GPU instead of the CPU to do the work
End of canadian_rocker2008's quote

I have some issues too, but not always.  I noticed that when a large AI is at war, it takes a toll on my system too. As soon as the war is over, things get back to normal.

 

 

And I also noticed that the game does require a pretty good GPU.  Can't understand why, I would assume most calculations would be done by the CPU.

Reply #7 Top

Much of what I am going to say is generalized and can change some depending on how you write the program however, programs do not work like that.  You do not assign an amount of memory and all of it is used.  Basically the program asks for memory as it needs it.  For example when you create a variable of type integer (a number), you get an integer amount of memory assigned.  Different memory types use different amounts of memory.  As the game gets further along, more memory is needed because more data has been created and needs to be stored somewhere.  But you cannot force it to use more memory, it uses what it needs similar to having an 8 core CPU running a single threaded app.  Ignoring the operating system, only one thread and therefore only one core will be used even though 8 are available.  Usually the problem is that you do not have as much as it needs and it is forced to use other resources like swap files which are much slower.  Limits are based on operating system so another issue is that only so much data can be assigned to an app.  For Windows 7 32 bit, a program can only have 2 GB of static, 2 GB of dynamic and 1 GB of stack memory.  More than that cannot be accessed by the program even if the box has it.  That is why having the minimal amount of RAM you need to run something is good but more than you need or can be used does not help you at all.  I would think your 128GB would be rarely if ever used in entirety.  And I would be somewhat surprised if your GPU was truly the limiting factor your observation of the RAM and GPU usage imply.

As to it slowing down, even a multi-threaded app using multiple cores can be slow.  One thread may be waiting on the answer from another thread and that prevents the current thread from executing until the data is available.  Multiple threads only do so much as they are still inherently linear as only one can be executed at any one time in a core.  The main thing threads do is allow multiple things to be done in parallel (not simultaneously) allowing for a more responsive interface.  However there is a cost to more threads as a context switch between them does take CPU time.  And no matter how well you balance things, there is often a critical path that is the reason why things do not happen as fast as you would like.  Everything else is fast but that critical path prevents you from getting the speed you want because everything else is waiting on it.  And no matter what, the CPU has to be able to initiate everything, the GPU only does what it is told.  It relieves the CPU by doing a lot of the work for graphics by doing them in parallel but the GPU can only do what the CPU tells it to.

I play the game with an I3-6100, 16GB RAM and an RX470 graphics card.  I see the same delays you do in late large games but it is not significant and seemingly confined to ship movement for the most part.  I would almost like to see a setting to turn off the ship movement and have the ship just leave one place and arrive at the end briefly showing any enemy ships it sees along the way but not showing the movement itself.  I doubt this would speed things up much but seeing the ships hesitate is the annoying thing to me.

Reply #8 Top

I actually only see this if the ship moves somewhere outside of sensor range.

So its most like the update of the fow and not the shipmovement which is slow.