Playing big maps, computer performance, how?

Umm, I don't think CivIV supports multicore CPUs. So unless you have a habit of alt+tabing out of your game a lot, you don't need dual core.
No, Civ doesn't use multiple cores itself, but as Willem pointed out below:
Civ itself might not use it, but it could mean that one core is dedicated to civ, and the other ends up doing all the background stuff that computers like to run.
I did an interesting experiment a little while ago. I have a little program that allows me to see the core load on my four cores in real time on an external LCD screen. I played 30 turns of a late game save, first under Vista, and then under Windows 7, with nothing but Anti-virus and the LCD program running in the background.

The results were surprising. Vista used one core extensively (about 40 to 70%), which I think I can assume was Civ, and the other cores were used less, between 5% and 20%. I'm assuming that this was background OS activity, and graphics and disk data transfers and miscellanea.

Under Windows 7, all cores were used almost equally, with less work per core. (They were topping out around 15 to 20%) No core was particularly favored over another. I was reading some things about Win 7 that suggest that it was designed to use a multi-core CPU more efficiently, and will actually divide the workload amongst the cores to provide the best performance. There is no specific core affinity, unless you assign a core specifically to a program. (There are some that disagree on that, and I personally haven't seen anything from Microsoft that confirms it, but based on what I see from my little screenie thing on all of my software, I tend to agree.)

I know that Civ is a lot better, and more fluid on Win 7, but of course, YMMV. :)
 
I am surprised the game works on a standard map. Huge is close to a miracle.
Most of the code involves too many inner loops and little to no caching. Virtually any algorithm looks like brute force.
The game is very, very far from optimized and the graphic card is the least of the problem.
Neither memory (as long as there is enough to prevent swapping and to have disk cache), nor better graphic card, nor more cores (the game is single threaded for most of the part) can help that. Overclocked single core CPU is probably the best thing to run the game unfortunately.

And yes, restarting the game helps, there must be some memory leak.
As for 20min turns, that's not much at all even on a standard map w/ hundred w/ units.
 
Lemon, that business of Win7 using the cores is very interesting. Thank you. I'm getting ready to build a new box and one of the decisions was whether to load WinXP or Win7. I'll hold off on the project until the first Service Pack for Win7 is released and then load it.
 
@Lemon Merchant
Unless the code is designed in concurrent way (and can run more than a single thread doing anything sensible, using lock free structures will be a bonus :D ) no operating system may ever help. Switching between the cores when scheduling the threads is trivial and it may help cooling the processor down but getting real performance won't happen. Some other processes may use the cores simultaneously but that's all.
 
Lemon, that business of Win7 using the cores is very interesting. Thank you. I'm getting ready to build a new box and one of the decisions was whether to load WinXP or Win7. I'll hold off on the project until the first Service Pack for Win7 is released and then load it.
I've been using Win 7 for about a month, and I have to say that it is superior to both XP and Vista. I was a Vista fangrrl for a long time, but Win 7 is just so much of a step up, it's incredible. With the exception of the mistake I made installing Civ, I have had zero issues with 7. Something that I can't say about either XP or Vista. Don't delay, my friend. You won't be sorry. :D

@Lemon Merchant
Unless the code is designed in concurrent way (and can run more than a single thread doing anything sensible, using lock free structures will be a bonus :D ) no operating system may ever help. Switching between the cores when scheduling the threads is trivial and it may help cooling the processor down but getting real performance won't happen. Some other processes may use the cores simultaneously but that's all.
Well, I'm not the biggest code genius, and I certainly don't understand all of the nuts and bolts. I can only speak to what I know from experience, and some research. Civ is definitely a single core app, and having more cores doesn't really make it faster from that perspective. Vista seems to allocate one core specifically for Civ, and the rest of the cores do the housekeeping chores. This does produce a small performance improvement, notably a reduction in turn lag, and leaderhead load. The machine is also able to handle larger map sizes without bogging down.

It's fairly easy to test this sort of thing. My former room mate tested his old single core Athlon against his proud new Phenom purchase last year (Using XP). He set the clocks the same and with the same amount of RAM, and he moved the graphics card to and fro between them. (He's an engineer, so this sort of thing is a big science project for him. Knowing him, he probably still has all of the data hidden away somewhere. :rolleyes:) Then he played some saves. (That's where I learned the test technique.) He did measurements and everything, and there was a definite performance increase in having more cores, though it was admittedly small. Then he played a full game on each machine, using a large map. He thought that a huge map would be too resource consuming and skew the tests in favor of the quad core. Again, a small performance increase in the form of reduced turn lag. The "camera" feature of Civ was a little smoother to both of us, but that is a subjective measurement he discounted.

So, ok, big deal, right? The bottom line is that having another, or more, cores takes the load off of a single core machine running Civ. My Phenom is clocked at almost 4 GHz (3.95), so all of this is moot for me, but if I clock my machine at the same speed as the highest you can over clock your mono core, my machine will outperform yours. I don't gamble, but if I did, I would put money on it. :)

I'm not arguing your points on multi threading, and all of that. I have no doubt that you are completely correct in that respect. Heck, I'm not sure I even totally understand multi-threading. I haven't been able to find out the big theory behind Microsoft's retooling of the kernel for Win 7. They only say that it has been optimized to use the cores and memory more efficiently. Maybe the reason is for cooling, as you say, I don't know. Some talk on the Windows forums and blogs suggests that Win 7 outperforms XP by a significant margin, when running the same apps on a machine that dual boots 7 and XP. I dual boot, but haven't tried it yet as I don't really care (and I'm too lazy to do all of the reinstalls needed. Yawn...).

All I can say is what I said earlier. In my personal experience, Civ seems to run better and more smoothly on Win 7 than it did on the same hardware using Vista, and that makes me a very happy girl. ;)
 
I agree with Lemon Merchant

Also, I read that DirectX 11 has more support for multiple cores.

If Civ uses DirectX, and If that means it automatically uses the latest version of DirectX and doesn't bind to an older version, then you might be seeing benefit from that with a multiple core CPU. I made some assumptions in that statement though...

You can't just consider the game code itself when deciding whether you are getting benefit from multiple cores, you also have to consider all the platforms the game was built on.

If you haven't already, you may want to consider reformatting the hard drive and reinstalling the O/S from scratch. Sometimes starting from scratch like this can give you a nice performance boost.
 
I was hoping that Vista -> Win7 would give me a big upgrade, but I don't see too much. That being said, I'll probably go soon for a fresh install (although also partly since win7 for some reason decided to make my touchpad on the laptop stop working).
 
Don't delay, my friend. You won't be sorry.
Long experience in IT taught me to wait on a new Windows OS until the first Service Pack. Although Win7 has been getting good reviews, I learned the lesson of waiting the hard way. My current machine is more than adequate so I'm not suffering.
 
I agree with Lemon Merchant
Shhh. Don't say that too loud. You'll blow my reputation as "Forum Dumb Girl." :lol:

Also, I read that DirectX 11 has more support for multiple cores.

If Civ uses DirectX, and If that means it automatically uses the latest version of DirectX and doesn't bind to an older version, then you might be seeing benefit from that with a multiple core CPU. I made some assumptions in that statement though...

You can't just consider the game code itself when deciding whether you are getting benefit from multiple cores, you also have to consider all the platforms the game was built on.
I was reading that Win 7 has reverted to the old way of using the graphics cards, much the same method as XP did. It seems, with Vista, that the majority of graphics rendering and acceleration was done in software. In Win 7, the OS can use hardware or software acceleration, depending on the application, and the type of driver and card. I noticed during the Windows Experience Score thing on my computer, post 7, that the business/gaming graphics scores went up almost a full point. I have really cheap graphics cards, so I don't expect much out of them, even in Crossfire, but I was a little puzzled. I know that the test is performed and scored differently, but I wonder if the newer accelerator method played a part?
Long experience in IT taught me to wait on a new Windows OS until the first Service Pack. Although Win7 has been getting good reviews, I learned the lesson of waiting the hard way. My current machine is more than adequate so I'm not suffering.
Well, I can't argue with that. Though, oddly, I still have yet to have more than two or three Windows updates that actually applied to Win 7.

Office? 30 or 40, and service packs, and.. and... and... Oy... :lol:
 
I was hoping that Vista -> Win7 would give me a big upgrade, but I don't see too much. That being said, I'll probably go soon for a fresh install (although also partly since win7 for some reason decided to make my touchpad on the laptop stop working).
For some reason, this didn't quote in the post I just made. Sorry for making two replies.

The move to Win 7 didn't give me a really big performance increase. There's a little difference, but mostly, the best thing about Win 7 is that things work properly.

I used to get so fed up with my gadgets losing their little minds, and my desktop not loading things it was supposed to, icons vanishing, and my programs losing their configurations for no reason. I even completely lost my DirectX once and had to re-install. :mad:

Best of all, it doesn't take four minutes to boot one time, and nine the next, then three... It's a consistent 45 seconds or so. :goodjob:
 
@Lemon Merchant
Ok. Win7 might be improved and the kernel could take some benefit of multiple cores. The kernel/API itself might be improved [speed-up], the video/DirectX handling can be improved, it can take benefit of 64bit instructions and the like but the game itself will stay the same.

If you need benchmark, you shall measure the time spent in the game process (I think 'process explorer' could do that; CPU time on task manager).

Running smoothly on win7 should be some very good news, especially to the sale dept of microsoft. I, myself, don't give a damn about it.
 
@Lemon Merchant
Ok. Win7 might be improved and the kernel could take some benefit of multiple cores. The kernel/API itself might be improved [speed-up], the video/DirectX handling can be improved, it can take benefit of 64bit instructions and the like but the game itself will stay the same.

If you need benchmark, you shall measure the time spent in the game process (I think 'process explorer' could do that; CPU time on task manager).

Running smoothly on win7 should be some very good news, especially to the sale dept of microsoft. I, myself, don't give a damn about it.
Of course the game will stay the same. I never said that it wouldn't. The game engine is at least five years old, and was written at a time when multi-core CPUs were just on the drawing board. I did not say that the game itself benefits from having more cores. I said that the game works and performs slightly better because it has less overhead to contend with from the OS. Less overhead from the OS, and you have a more fluid Civ experience. That is basically what I have been saying. You either disagree because you know much more than I do about this, which is possible, you just didn't read what I said, or you missed my point entirely.

So, I suppose that the sales department of Microsoft might be disappointed that you don't care, but the rest of us, who don't like choppy, lagging, poorly performing software, will be over here, enjoying Civ.

I'm glad that Windows Me is working out for you so well. I'll pass that on at the next MS board meeting. ;)
 
>>I'm glad that Windows Me is working out for you so well.
Never used Windows Me, though... But I still have memories of Windows 3.0 (and esp. 3.1) for that matter.

IMO the best product of microsoft was... WinWord 6. This thing worked on 4 MB of memory actually and had a good programming language on its own.

Even on XP an extra core(s) can handle the processes running in the background. If in Win7 they managed to split some of the kernel tasks into different queues and synchronize the result, even better.
--
Seriously, my post was directed mostly at the Phenom/Athlon test. As for muti-threading it allows concurrent execution in the same protected memory, hence you one can run more cores vs the same data in the same time. That requires usually a quite different approach since most of the logic (in Civ) are linear.
------------------
Edit: could not resist
So, I suppose that the sales department of Microsoft might be disappointed that you don't care, but the rest of us, who don't like choppy, lagging, poorly performing software, will be over here, enjoying Civ.
The main problem is the software and the algorithms used (and their implementation, that's it) not the operating system. Targeting the inner loops is the key, everything else is similar to an attempt to reduce one's weight by cutting off the nails. Anyways, that has nothing to do w/ windows or microsoft. Civ4 should be working just as bad under linux/wine
 
Seriously, my post was directed mostly at the Phenom/Athlon test.
Hmmm. I thought that test was at least a little interesting. At least it proved to us that there definitely wasn't going to be anything like a 100% performance increase, and he did approach it very scientifically in terms of method. He tried to compare apples to apples, as best he could. It isn't like he tried to compare my murderously over clocked machine to his old Athlon. :lol:
 
I was reading that Win 7 has reverted to the old way of using the graphics cards, much the same method as XP did. It seems, with Vista, that the majority of graphics rendering and acceleration was done in software. In Win 7, the OS can use hardware or software acceleration, depending on the application, and the type of driver and card. I noticed during the Windows Experience Score thing on my computer, post 7, that the business/gaming graphics scores went up almost a full point. I have really cheap graphics cards, so I don't expect much out of them, even in Crossfire, but I was a little puzzled. I know that the test is performed and scored differently, but I wonder if the newer accelerator method played a part?

I don't know if new versions of DirectX help with older video cards or not. I am guessing there will be some benefit since one of the components of DirectX 11 was supposedly rewritten to support multiple threads.

When I installed Windows 7 I got some pretty hefty increases in the performance index in all categories, but then I also bought a brand new fast hard drive at the same time so that probably helped... :D

The performance increase when launching the game was pretty significant. Most people don't worry about that much though. In game performance was pretty good before for me on huge maps, it might be a little better now. It's hard to tell.
 
I got no problem playing this game on a 6 year old HP with a Radeon9250 and 1 gig of ram. I dont see how a 1 year old computer could ever have a problem.
 
The game engine is at least five years old, and was written at a time when multi-core CPUs were just on the drawing board.
Well I gather that it won't be optimized for a quadcore, but what about a dualcore?

@OP: looks like your problem was the onboard graphics card (no surprise there). I picked one up this summer for $50. I was limited by my power supply (only 300W and two years old already), but there are some pretty beefy cards in the $50-100 range, or you could go low budget and get a decent card for under $50.

I would suggest at least a 512mb nvidia card. I won't argue whether nvidia is superior to its competitors, only that I've experienced fewer issues with nvidia compared to some of the issues I've seen reported by players using other video cards.
 
Well I gather that it won't be optimized for a quadcore, but what about a dualcore?
Nope. It works pretty much the same as a quad. The difference is negligible.
 
Nope. It works pretty much the same as a quad. The difference is negligible.

As long as the code isn't written to use SMP (Symmetric MultiProcessing) it doesn't matter how many cores, or even how many CPUs, you have: the game won't run any faster. You may see the game run more smoothly because hardware interrupts can be handled by an idle core, but that's about as good as it gets.
 
Top Bottom