Where's the source of the performance issues on my machine?

Hi there.

I've recently started playing GalCiv3, and I noticed that it doesn't run very well on my machine. My machine meets or exceeds the recommended specifications except for one component, so I was wondering if that would cause the lag.

My system specs are

  • Intel Core i5 6600k non-OC
  • 16GB DDR4 RAM
  • Intel Integrated Graphics (Intel HD 530 with 128MB dedicated and 8029MB (WTF?) shared memory)

I normally play on a Huge galaxy with 5 AI players and "Occasional" minor races, and that gets around 40FPS throughout the game when the graphical options are set to the Low preset and the game is running in fullscreen at 1080p.

However, playing an Insane map drops the framerate to around 15FPS, but strangely the CPU usage isn't hitting 100% and at the start of the game GalCiv3 is only taking around 5GB of RAM.

Would my GPU be bottlenecking the system?

In case you need more detailed information about the system, I'm using Windows 10 Pro version 1511, the page file is set to around 2.7GB initial with 4GB max and it's on an SSD (Samsung 850 EVO 250GB). The game is installed to a set of 2 mechanical drives in RAID 0. The CPU is not thermal throttling and I have the latest Intel drivers installed. I'm playing the 1.83 stable release.

42,495 views 19 replies
Reply #1 Top


Would my GPU be bottlenecking the system?
End of quote

Probably. If you are running with integrated graphics you may be limited to smaller maps or lower settings. You may try a GPU monitoring program to see how heavily it is being utilized, though I'm not sure if any of those support intel integrated graphics.

Reply #2 Top

That would be a yes.  I'm actually really surprised at the performance you're getting with a 530, it's raw power is about a tenth of a top end card, and even a five year old card will be a multiple of it's power.

Reply #3 Top


the page file is set to around 2.7GB initial with 4GB max
End of quote

This is where your problem is. The swap file needs to be able to expand to 48GB. The OS is going to be crippled if the swap (page) file is constrained to less than the amount of RAM you have, and ideally should be capable of at least 3*RAM. Remember that the swap file is for the entire computer, not just for GC3, and does more than back up virtual memory for all applications, and the OS, running on your PC.

Reply #4 Top

Thanks to everyone for the replies. I've taken a look at GPU-Z and it appears that the GPU is consistently at 100% load and at max clock speeds as well.

Unfortunately, since I don't have the resources to purchase a dedicated GPU right now (I'm in Australia and things are quite a bit more expensive) I guess I'll just try overclocking the iGPU and see how that fares.

To Lucky_Jack, I've just got a question about the memory management in this game. Why doesn't it use all of the 10+GB I've got spare when I launch the game instead of paging everything? Wouldn't that be a bit faster?

Here's a picture of what the load on my computer looks like when I'm playing the Insane map.

Reply #5 Top

Yep, it looks like the GPU was the bottleneck. After overclocking it by 200Mhz I gained 3-4FPS so now it's around 18FPS when fully zoomed out during the early stages of the game. Temperatures are reasonable too with the iGPU sitting around 53 degrees Celsius. During turns the responsiveness of the game drops dramatically to around 2FPS but that's to be expected given the heavy load on the system.

Thanks for all of your help :)

Here's a screenshot of my playing the game and having the monitoring tools open. I'm still learning how to play :P

Reply #6 Top

The speeds and refresh rates you mention shows that your CPU is still being seriously constrained. Again, I think you should take a look at your system's "virtual memory" settings (on Win8.1 -- Control panel -> all control panel items -> system -> system protection -> advanced -> "settings" under "performance"
 -> "change" under "virtual memory -- sorry, I don't know the path on Win10.). If you have "custom size" checked then your settings should be "Initial size (MB)" =  16394 MB and "Maximum size (MB) = 49152. Otherwise you should have "System managed size" checked.

The OS will not allocate more RAM than it thinks it can manage within the size of the swap space it is allowed to allocate. Also note that the game is not what allocates RAM, it is the OS that allocates RAM.

I usually play my games on an immense galaxy with 12 major opponents and lots of minor civs on a desktop with an Intel I7-4770 at 3.40GHz and a NVidia GeForce GT 640, with no overclocking. My CPU and GPU drivers are very recent and I am not experiencing any performance drags. The RAM being allocated to back up the virtual memory used by GC3 and all of the other stuff I have running on my PC -- including the OS -- seldom goes over 7GB (I have 16 installed). With your newer equipment I would expect much higher FPS rates than you are getting.

Reply #7 Top

Quoting badeggfan, reply 4

Thanks to everyone for the replies. I've taken a look at GPU-Z and it appears that the GPU is consistently at 100% load and at max clock speeds as well.

Unfortunately, since I don't have the resources to purchase a dedicated GPU right now (I'm in Australia and things are quite a bit more expensive) I guess I'll just try overclocking the iGPU and see how that fares.

To Lucky_Jack, I've just got a question about the memory management in this game. Why doesn't it use all of the 10+GB I've got spare when I launch the game instead of paging everything? Wouldn't that be a bit faster?

End of badeggfan's quote

 

Its tradition here in Australia that we are always looking for ways for things to be more expensive than necessary.... hell we even sell our own resources overseas cheaper than what we would dare sell to ourselves! http://www.michaelwest.com.au/its-a-gas-australian-gas-prices-are-a-bargain-in-japan/

And when you try to look for computer parts, most of the prices are way high, I'm like, you gotta be kiddin me? But the trick is, don't just accept it, just because the first 10 places all have the same high price, douse not mean a reasonable one is not to be found, you just have to keep looking... i often succeed in shaving off a couple of hundred off what seemed to be the standard high price.

Competition is not quite totally dead yet in Australia - although for a number of industries it is (banking, energy, insurance)

Here is a tip... plenty of systems look good at first, then you spot that little word 'integrated'.... ah, in future, that's when your supposed to say 'next' lol

Reply #8 Top

The OS will not allocate more RAM than it thinks it can manage within the size of the swap space it is allowed to allocate. Also note that the game is not what allocates RAM, it is the OS that allocates RAM.
End of quote

 

This is horrible misinformation.  Memory in ram is not "backed up" in your page file, nor does it require one in any way.  There are, due to poor programming and a lack of foresight, programs that will not run without a page file because their authors couldn't imagine a world where there was enough RAM.  This is the only reason to actually have a page file in the modern computing world unless you simply can't fulfill the requirements of the software you're running.  It is a swap file because it swaps things in and out of ram as they're needed when there is too much to fit.

 

As you've noted, you are not using anywhere near all of your RAM.  If there were paging going on to back up the state of the RAM, your performance would be crippled and neither the video card nor the processor would be reaching peak usage as even a fast SSD is an order of magnitude slower than DDR3.

 

The reason his performance is so much better is that his significantly older hardware is also significantly more powerful hardware.

 

The GT 640 has a minimum of 1GB of dedicated DDR3 and potentially has 2GB of DDR5 depending on which 640 he has, and in any scenario is markedly more responsive than yours, which is working off the same system memory the game is using for everything else and has a massive difference in latency because of the architectural advantage of dedicated on board memory for discrete GPU's.  Performance vs workload is not a linear problem.  At a certain point, you reach your maximum load and performance rapidly goes to complete crap over it as cycles are lost switching things back and forth.  What you're seeing in your massive loss of performance may only be 10-20% more than your system could handle smoothly at 40fps, and the GT 640 clocks in around 30-40% more powerful than your HD 530.

 

The i7 4770K is also markedly more powerful than the newer i5 6600K.  It has a larger cache and hyper-threading, two advantages that result in better performance despite it's relative age.  The larger cache allows even single thread performance on the older architecture to outpace yours, and hyper-threading greatly improves overall power.  Your system is running like it's 8 or 9 years old, his is running like it's 5 or 6.

Reply #9 Top

Quoting psychoak, reply 8


The OS will not allocate more RAM than it thinks it can manage within the size of the swap space it is allowed to allocate. Also note that the game is not what allocates RAM, it is the OS that allocates RAM.



 

This is horrible misinformation.  Memory in ram is not "backed up" in your page file, nor does it require one in any way.  There are, due to poor programming and a lack of foresight, programs that will not run without a page file because their authors couldn't imagine a world where there was enough RAM.  This is the only reason to actually have a page file in the modern computing world unless you simply can't fulfill the requirements of the software you're running.  It is a swap file because it swaps things in and out of ram as they're needed when there is too much to fit.

 

As you've noted, you are not using anywhere near all of your RAM.  If there were paging going on to back up the state of the RAM, your performance would be crippled and neither the video card nor the processor would be reaching peak usage as even a fast SSD is an order of magnitude slower than DDR3.

 

The reason his performance is so much better is that his significantly older hardware is also significantly more powerful hardware.

 

The GT 640 has a minimum of 1GB of dedicated DDR3 and potentially has 2GB of DDR5 depending on which 640 he has, and in any scenario is markedly more responsive than yours, which is working off the same system memory the game is using for everything else and has a massive difference in latency because of the architectural advantage of dedicated on board memory for discrete GPU's.  Performance vs workload is not a linear problem.  At a certain point, you reach your maximum load and performance rapidly goes to complete crap over it as cycles are lost switching things back and forth.  What you're seeing in your massive loss of performance may only be 10-20% more than your system could handle smoothly at 40fps, and the GT 640 clocks in around 30-40% more powerful than your HD 530.

 

The i7 4770K is also markedly more powerful than the newer i5 6600K.  It has a larger cache and hyper-threading, two advantages that result in better performance despite it's relative age.  The larger cache allows even single thread performance on the older architecture to outpace yours, and hyper-threading greatly improves overall power.  Your system is running like it's 8 or 9 years old, his is running like it's 5 or 6.

End of psychoak's quote

 

Wow, that's interesting stuff!

 

Some time ago i saw lots of posts on Galciv2 not using available ram.... i think it was restricted to 4gb if memory serves?

What they were saying was you need a 64 bit OS and Galciv also needs to be 64 bit to use more ram - so it can be either the OS or the game causing ram restriction. However, that is why they made Galciv3 64 bit!

Reply #10 Top

Quoting psychoak, reply 8

The reason his performance is so much better is that his significantly older hardware is also significantly more powerful hardware.

 

The GT 640 has a minimum of 1GB of dedicated DDR3 and potentially has 2GB of DDR5 depending on which 640 he has, and in any scenario is markedly more responsive than yours, which is working off the same system memory the game is using for everything else and has a massive difference in latency because of the architectural advantage of dedicated on board memory for discrete GPU's.  Performance vs workload is not a linear problem.  At a certain point, you reach your maximum load and performance rapidly goes to complete crap over it as cycles are lost switching things back and forth.  What you're seeing in your massive loss of performance may only be 10-20% more than your system could handle smoothly at 40fps, and the GT 640 clocks in around 30-40% more powerful than your HD 530.

 

The i7 4770K is also markedly more powerful than the newer i5 6600K.  It has a larger cache and hyper-threading, two advantages that result in better performance despite it's relative age.  The larger cache allows even single thread performance on the older architecture to outpace yours, and hyper-threading greatly improves overall power.  Your system is running like it's 8 or 9 years old, his is running like it's 5 or 6.
End of psychoak's quote

So what kind of graphics card would I need to run the game at 60FPS on an Insane map at the High quality/performance preset? Would an AMD RX 460/GTX 1050 work for that, or would I need something more like a GTX 1060/RX 480?

Reply #11 Top

I expect either of those would be fine, but you might not be able to achieve your goal regardless.  After a certain point, you wont be GPU limited and your CPU and RAM will bear the brunt.  I'm on an old GTX 680 and the game runs pretty smooth, a 460 isn't much weaker than it is and far more modern a design with twice the memory(the models folder is 3.8GB, so I have to do a lot of swapping in and out of VRAM with only 2GB, which leads to hiccups), but with hundreds of planets and thousands of ships, there's going to be a performance cost at some point regardless of how big a monster your GPU is.

 

I'd spring for at least an RX 470 though, preferably a 480.  Dropping $100 for 5 year old performance is a bit of a waste when you can get more than twice the performance for twice as much.  It wont help much, possibly any, where GC3 is concerned, but it will certainly perform massively better should you buy any current more graphically intensive games.  The viable lifespan of a 460 will be pretty short for more demanding applications, maybe only good for a year or two in RTS, FPS, and RPG games.  My 680 has already reached the end of what I consider it's viable time frame.  I'm holding out to see AMD's next processor and GPU releases or I'd have replaced it already.  Instead, I'm simply waiting to play the latest Tomb Raider because I'd have a stutter fest with my current hardware.

Reply #12 Top

I think you are all missing one big important point. Sometimes the OS can throttle performance simply because an OS setting is too constraining. MS recommends that the setting for "virtual memory" be 1*RAM for "initial size" and 3*RAM for "maximum size". This is such an easy, quick, and inexpensive thing to check that I am surprised to see so much resistance to doing so. Added to that is the large number of people that solved their performance problems during EA by ensuring that these settings met the MS recommendations. What can it hurt to make this simple check?

Reply #13 Top

These are people with 4-8GB of ram, not the guy with 16.  He's nowhere near running out of space.

 

Yes, there is a recommendation for a 3*RAM maximum size, but this recommendation is based on the typical computer buyer that gets a piece of crap from Dell that shipped with 4-8GB of ram in an era where your browser can burn through a gig by itself.  If you've got 16 today, you probably wont ever use a page file in your daily operations, if you've got 32?  It's just not a relevant issue for him.  Windows 10 isn't that dumb, it's designed to run on systems without a page file just fine, and it will use up the entire thing.

Reply #14 Top

Quoting Lucky_Jack, reply 12

I think you are all missing one big important point. Sometimes the OS can throttle performance simply because an OS setting is too constraining. MS recommends that the setting for "virtual memory" be 1*RAM for "initial size" and 3*RAM for "maximum size". This is such an easy, quick, and inexpensive thing to check that I am surprised to see so much resistance to doing so. Added to that is the large number of people that solved their performance problems during EA by ensuring that these settings met the MS recommendations. What can it hurt to make this simple check?
End of Lucky_Jack's quote

 

I think you're missing something. I really don't think adding another 48GB of virtual memory will result in additional performance. In fact, I haven't seen any increase in performance after adding another 2GB on top of the 2.7GB I already had allocated, and I would really prefer not to burn through my SSD's storage space by allocating 48GB of the 250GB drive to a page file/swap file that will not get used. 

 

If there's spare RAM why would an application spill over into virtual memory? DDR4 RAM is so much faster that it's not worth it to use paging when there's free memory; it might even decrease performance because of the massively slower transfer rates. 

 

If I was playing GalCiv3 on my laptop with 6GB RAM then sure, adding another 6GB of virtual memory might stop GalCiv3 from complaining about a lack of memory, but since I'm playing it on a desktop that's clearly shown to be GPU constrained it's not going to help. 

 

Thanks for the suggestion, though. 

Reply #15 Top
Quoting Mystikmind, reply 7

Here is a tip... plenty of systems look good at first, then you spot that little word 'integrated'.... ah, in future, that's when your supposed to say 'next' lol

End of Mystikmind's quote

 

Haha I built it myself but I didn't get the graphics card at the time because the RX 480 had just been released and I was waiting to see if the prices would come down a bit as availability increased.

Reply #16 Top

Quoting badeggfan, reply 15


Quoting Mystikmind,


Here is a tip... plenty of systems look good at first, then you spot that little word 'integrated'.... ah, in future, that's when your supposed to say 'next' lol



 

Haha I built it myself but I didn't get the graphics card at the time because the RX 480 had just been released and I was waiting to see if the prices would come down a bit as availability increased.

End of badeggfan's quote

Ahhh ok, .... but did the integrated graphics affect the motherboard price? If it did, then your kinda back stepping?

No graphics card from your old computer you could have temporarily used? ... oh gosh, what the hell am i asking?? I still remember Ye old days.... old English phrases no longer used today... look up obsolete terms.... most people these days wont know it....  'backwards compatibility' as dead as the 'floppy disk' Hahahahahaha

Reply #17 Top

Quoting Mystikmind, reply 16

Ahhh ok, .... but did the integrated graphics affect the motherboard price?
End of Mystikmind's quote

Intel IGPUs have been on the CPU itself for several years now, so pretty much all Intel boards have video outputs.

Reply #18 Top

Quoting kryo, reply 17


Quoting Mystikmind,

Ahhh ok, .... but did the integrated graphics affect the motherboard price?



Intel IGPUs have been on the CPU itself for several years now, so pretty much all Intel boards have video outputs.

End of kryo's quote

That was interesting, so i googled it and found a nice explanation;

"It depends on what you're looking at. If you look at price of chips alone, the costs are not ground breaking. On LGA775 platform the GPU was integrated in chipsets, so some had integrated GPU while others were genuinely lacking the processing power. However, the low-end chipsets with GPU (eg. G41) were actually cheaper than high-end chipsets without GPU (eg P45). So we can conclude that while integrated card must increase the price of a chip, it's not really enough to justify costs of making 2 lines of chips: with and without. This is probably why Intel decided to put a GPU on every single consumer CPU."

There was allot of other jibba jabba, but they also said the main issue with attaching a GPU is not cost but physical space.... you know, if they need that space for something else or not.

 

Reply #19 Top

Two things:

 

(1) Even being in Australia and having to deal with the stupidly high costs for computer parts, I'd IMMEDIATELY go out and by virtually any used video card you can get your hands on.  Literally anything made within the past 3 years as a dedicated card will be a big boost to your performance over an Intel 530. Go down to the local computer shop, and buy the cheapest 1GB VRAM video card you find - ask them if they've swapped out any from people upgrading, and buy that card. You should have no problem with finding one under  $50 AUD  (heck, I see some available NEW from on-line retailers shipping to Australia for less than that).   That will immediately solve your problems.

 

(2) on modern OSes, including all flavors of Windows since Win2003, virtual memory works this way:

virtual memory = physical ram + swap file

All allocation is done into virtual memory, with no knowledge of where that memory page will actually reside. the OS itself then decides where to put the memory page based on two criteria:

  1. Is the page actually allocated for use, and not just "reserved" for future allocation?
  2. When was the last time the page was accessed?

In the case of memory pages actually accessed, the OS will put the most recently used ones in RAM, and, if there is no room left over, store the remainder on the swap file.  In the case of "reserved" pages - ones the application says to allocate, but not use for the immediate future - these are put on the swap file. Reserved pages are really just markers that say "Hi, I'm going to be using this sometime in the future. You can't have this space."   Reserved pages are increasingly rare; they were typical for huge memory hog apps like Photoshop in the 32-bit era, but in the 64-bit era, they're virtually useless, and thus, apps don't do it.

Should there be more RAM than the sum total of all allocated pages in use, the OS will use the remaining RAM as a file cache.  This file cache will be evicted immediately upon any memory pressure (i.e. memory being allocated in excess of the existing total).

 

The long and short of this is this:  for modern systems under ordinary desktop use, you should NEVER need a swap file. If the OS is having to swap, you're taking a enormous (i.e. 10,000x) performance hit.  Your RAM should *always* be sufficient to run all the apps you need; if it isn't, BUY MORE RAM.  You should have a swap file for two reasons: (a) if you want to do a crash dump, you have to have sufficient swap space to store the entire contents of RAM, or (b) you still have certain apps that reserve but don't allocate a significant amount of RAM.  JavaVMs are a prime example of this right now.

In case (a), you need a swap = RAM.  In case (b), you need swap sufficient enough to hold the reservation amount. Which probably is no more than a few GBs.

 

TL;DR:  you shouldn't need a swap file at all on a modern desktop system. At most, 1-2GB is sufficient, regardless of system RAM (because, who actually looks at crash dumps?)   If you detect swapping, BUY MORE RAM.  It's that simple.