I would often play Civ4 on my laptop which has switchable graphics, and when on battery I would experiment with different configurations. While lowering the CPU clock affected performance a little, switching to the slower video card (with full CPU clock) had a huge effect. It's anectodal, but it mirrors experience I've had with upgrading video cards and CPUs in my desktop.
That could all change if developers start making games utilize the CPU and extra cores more, of course. I don't think they do right now though.
To address some misconceptions:
Most consumer CPUs with 64-bit support use 48-bit addresses. This still gets you up to something like 16TB as your limit which AMD figured was enough at the time and Intel doesn't appear to have disagreed.The downside of 64-bit is that the addresses are twice as long as in 32-bit, so if you want to load a list of addresses (say, all your catapults in your SoD) you need twice the memory to store it and twice the bandwidth to access it.
Many (most even) modern 32-bit CPUs already support 64-bit integers and floats, some have special 64-bit types (long long for instance). This is one of those details that kills novice C++ programers... everything gets calculated in 64-bits, so you don't need to spend more time working with very big or small numbers, ...
Interesting... very wrong, but interesting. See how that fancy new GPU works in an outdated board with an old bus (like the early PCI-E hacks), a slow CPU and cheap RAM. Oh, then install your games, OS and everything else onto a single cheap hard drive and see if you can figure out where the bottleneck really is. Feel free to use an underpowerd PSU too, if you like living on the edge.The CPU has very little performance impact on games nowadays. The real bottleneck is (and has been for years) the video card.
Interesting... very wrong, but interesting. See how that fancy new GPU works in an outdated board with an old bus (like the early PCI-E hacks), a slow CPU and cheap RAM. Oh, then install your games, OS and everything else onto a single cheap hard drive and see if you can figure out where the bottleneck really is. Feel free to use an underpowerd PSU too, if you like living on the edge.
I know it sounds like an exageration but this is what you get when somebody who doesn't know better reads a game forum and decides the only upgrade they need is a new $500 video card.
Many (most even) modern 32-bit CPUs already support 64-bit integers and floats, some have special 64-bit types (long long for instance). This is one of those details that kills novice C++ programers
I looked this up, and the fact is that the 32 bit x86 architecture does not support 64 bit registers. It is only possible to use 64 bit types only be splitting the integer into multiple registers, and using multiple instructions to do arithmetic.Many (most even) modern 32-bit CPUs already support 64-bit integers and floats, some have special 64-bit types (long long for instance). This is one of those details that kills novice C++ programers
EDIT:Isnt that more language dependent? And in the same vein, long long int is a C data type, not a C++ one. There's a bunch of other gotcha's with long long's which imho are best to avoid.
Actually he's right to quite a high degree. Its pretty widely known that for the majority of games released in the last 4-5 years, you can get by with even the earliest C2D. There are exceptions to that, like SupCom, Crysis and some other games, but in general, the graphics card is whats holding back your fps.
For example, an upgrade from a 2ghz C2D to a 2.4ghz C2D would in most cases do little to your framerate. And upgrade from a GTS 250 to a GTX 275 (about the same difference in price) would make your framerate jump up considerably in a lot of games.
You have a point that a GPU upgrade is much unneeded for an old pc of the sort that you describe. At the same time, his statement, as a generalization, is mostly correct, more than yours is at least.
You fell victim yourself, but it's ok
Most consumer CPUs with 64-bit support use 48-bit addresses. This still gets you up to something like 16TB as your limit which AMD figured was enough at the time and Intel doesn't appear to have disagreed.
Many (most even) modern 32-bit CPUs already support 64-bit integers and floats, some have special 64-bit types (long long for instance). This is one of those details that kills novice C++ programers
Interesting... very wrong, but interesting. See how that fancy new GPU works in an outdated board with an old bus (like the early PCI-E hacks), a slow CPU and cheap RAM. Oh, then install your games, OS and everything else onto a single cheap hard drive and see if you can figure out where the bottleneck really is. Feel free to use an underpowerd PSU too, if you like living on the edge.
I know it sounds like an exageration but this is what you get when somebody who doesn't know better reads a game forum and decides the only upgrade they need is a new $500 video card.
Are you seriously suggesting that playing ciV is even an option on an Atom or P4 cpu? Get real. The Atom is not supposed to be used for gaming, and the P4 is ancient as hell. Maintaining legacy support for such ageing systems is crippling modern gaming. Christ, the gaming market is supposed to drive the hardware market. If you want to play a game released in 2010, you should have decent hardware.
Like I said, for Civ 5 Firaxis will not be making it 64-bit only. All those of you who are going "Oh my god, but I only have XP/Vista/7 x86 so I wont be able to play it!!!!11!one1!" are freaking out over nothing. If Firaxis makes it 64-bit compatible, there will still be a 32-bit version. Its just that instead of shipping a single executable file, they'll have two. One for x86 and one for x64.
As for where it will speed up: mainly with map size. Allowing the game to address more than 2GB of RAM will allow huge maps to remain fast and responsive even well into the late game. Depending on the compiler used, the game may also be faster for virtue of the 64-bit instruction set.
I don't think Firaxis should support XP at all, it's a ancient OS from 2001, supporting this would limited their possibilities.
If you want to stick with a ancient OS like that you should stick to a ancient game as well.
Well, this is where the Mac users cry out in pain and frustration. All current machines are 64 bit, all current machines are multicore, and Snow Leopard goes out of its way (so I am told by people who can code "Hello, world" without a handbook) to make parallel programming easy. But Firaxis continues to pretend that the world is made of Windows users only ...
Oh well. StarCraft 2 will probably be out first, in both Mac and PC versions.
The CPU has very little performance impact on games nowadays. The real bottleneck is (and has been for years) the video card.
A Mac Pro can only take 64GB Apple is cheating us
Then Again 8 cores dual threading
Windows server can handle 2 TB of physical RAM. I sincerely doubt they test that.I don't know about Apple, but at least with Windows, Microsoft only certifies Windows for as much memory as they can actually test with. That may explain any stated upper limit on OSX. For the MacPro, the issue is that the chipset itself can only support 64GB - a limit you'll encounter on any chipset.
I can't imagine they will not support multi-core processors.
Support is not an issue. Utilization is. Just how many games do you know of now that take complete advantage of even a dual core?
L4D1 and L4D2 definitely do. Civ IV definitely doesn't. As somebody said here, I would pay money for a multicore version -- especially because Civ V seems so different that I'll probably continue to play the older version.
Except that we're talking about Civ5 here, not Call of Duty or one of the multitude of fast pased action games with a high focus on eye candy. You can't cheat here and simply turn off the AI for units that aren't being rendered like you can in an FPS game. In general, a TBS game will also be working with substantially more data than an action game. For TBS games specifically, what is worse, 24fps animations (instead of 60+) or 1 minutes pauses between turns (instead of 30 seconds or less). For fun, you can look at some other games that, despite being played like an FPS, benefit greatly from CPU and memory upgrades, the quickest examples I can think of off the top of my head is Morrowind & Oblivion, both of which saw a huge benefit from faster CPUs.You have a point that a GPU upgrade is much unneeded for an old pc of the sort that you describe. At the same time, his statement, as a generalization, is mostly correct, more than yours is at least.
That was in response to his statement about 64-bit letting you work with bigger numbers, not about being able to access 64-bit registers which only changes HOW you work with those bigger numbers, not whether or not you can.I looked this up, and the fact is that the 32 bit x86 architecture does not support 32 bit registers. It is only possible to use 64 bit types only be splitting the integer into multiple registers, and using multiple instructions to do arithmetic.
While you are correct that Civ 5 and the like can benefit from a faster CPU -- I never disputed that fact -- I did mention that in general a faster GPU does more good for your fps than a faster CPU. This does not hold true for all games, but in the vast majority of circumstances it does apply.Except that we're talking about Civ5 here, not Call of Duty or one of the multitude of fast pased action games with a high focus on eye candy. You can't cheat here and simply turn off the AI for units that aren't being rendered like you can in an FPS game. In general, a TBS game will also be working with substantially more data than an action game. For TBS games specifically, what is worse, 24fps animations (instead of 60+) or 1 minutes pauses between turns (instead of 30 seconds or less). For fun, you can look at some other games that, despite being played like an FPS, benefit greatly from CPU and memory upgrades, the quickest examples I can think of off the top of my head is Morrowind & Oblivion, both of which saw a huge benefit from faster CPUs.
C++ is what kills most novice C++ programmersMost consumer CPUs with 64-bit support use 48-bit addresses. This still gets you up to something like 16TB as your limit which AMD figured was enough at the time and Intel doesn't appear to have disagreed.
Many (most even) modern 32-bit CPUs already support 64-bit integers and floats, some have special 64-bit types (long long for instance). This is one of those details that kills novice C++ programers
dude, you should stop taking medication!I looked this up, and the fact is that the 32 bit x86 architecture does not support 32 bit registers. It is only possible to use 64 bit types only be splitting the integer into multiple registers, and using multiple instructions to do arithmetic.
int i = 0;
++i;
; 85 : int i = 0;
mov DWORD PTR _i$[ebp], 0
; 86 : ++i;
mov eax, DWORD PTR _i$[ebp]
add eax, 1
mov DWORD PTR _i$[ebp], eax
my box is a P4 3Ghz, 1gb DDR ram, GeForce 7600GT. bought it all used two and a half years ago for about 8k rubles or $350.EDIT:
You want both. 64 bit registers, and a language that has a 64 bit integer type. But both C and C++ qualify. Long long is only made standard by C99 and will be in C++0x, but 64 bit integer support has been present on most windows compilers for a while, whether as long long, int64, or something similar.
But I don't see any reason why Civ V would need 64 bit integers. If anything, it may be an optimization to use 16 bit integers in some places.
I meant 64 bit registers. I really should proofread my posts better.dude, you should stop taking medication!
on msvc++ 8 express edition:
the following code:
Code:int i = 0; ++i;
will generate the following asm code:
the eax and ebp 32bit registers. they do split into, for eax,Code:; 85 : int i = 0; mov DWORD PTR _i$[ebp], 0 ; 86 : ++i; mov eax, DWORD PTR _i$[ebp] add eax, 1 mov DWORD PTR _i$[ebp], eax
high 16bits and low 16bits called ax: ax splits into high 8bit ah and low 8bit al registers.
Yep that's typical. Use int for the general case, and long for when you know you need 32 bits, because int can be 16 bits on older systems, including embedded chips.on msvc++ 8 express edition:
cout << sizeof(char) << endl; // -> 1
cout << sizeof(short) << endl; // -> 2
cout << sizeof(int) << endl; // -> 4
cout << sizeof(long) << endl; // -> 4 (!!)
cout << sizeof(long long) << endl; // -> 8 internally "long long" is referenced as __int64
I dunno, maybe using 4GB will mean we can have big maps like in Civ II again, with the graphics detail of Civ IV.as to 64bits in general, the biggest advantage to moving to 64bits is the 4gb memory limitation. however for that, without careful data typing, the devs will pay by having all their data use 2x the memory. imho not really worth it, considering that the number of any entities in civ rarely exceeds 16bit (65536).
Most gamers have multiple cores these days. If Civ is to be a top of the line immersive game, then it needs to take advantage of the power that modern computers offer. And that means good multithreading.as to multi-core multi-thread thing: it's really complicated and bug-prone. definitely not worth it in the client code. the server code will benefit from the multi-threading thing. for example moving pathfinding into it's own thread on a separate core.