Crysis 2 and quad cores?

ambam

Distinguished
Jun 5, 2010
1,166
0
19,290
Will Crysis 2 and the CryEngine 3 be optimized to make full use of a quad core processor? Or maybe even a hexa-core or octo-core?

The original Crysis only uses Two CPU cores. I would imagine Crysis 2's advanced physics and AI will make it more CPU-intensive than Crysis, which may allow it to use more cores.

Allegedly, Crysis 2 will be easier to max out than the first game, due to good optimization and coding. We won't have to have 4-way SLI GTX 480's and a Ci7 980X @ 4.4 GHz with 12GB of RAM.
 
At the risk of repeating myself: The game isn't out yet. None of us are on the development team. Any answers the folks on the forum give you will be mere speculation. We have NO facts to go on.

But, since you asked: My guess is quad-core = yes, hexa = probably not.
 
The game is in development for 2 yrs now.so no way it will use hexa or octo core.only game which come in 2012 will use hexa or octo core.games takes years to develop.

Its not THAT hard to dynamically scale to the number of cores present; it just takes a LOT of resources in order to do this. I wrote server programs that dynamically scaled with CPU resources...back in the 80's.

That being said, you don't want to thread too much; if you do, one CPU core that is busy doing something else (AV scan, for instance) could cause a single criticle thread to be pushed out, essentially locking the program in the process. You don't want to thread too much on a system where other processes are running for this very reason. [One key disadvantage of most computer OS': You can't throw all the system resources at a single task, hence why consoles can get away with much lower HW requirements. But I digress...]
 
G

Guest

Guest
CryEngine 3 can use up to 8 CPU cores

http://www.pcgameshardware.com/aid,768604/Crysis-2-Everything-about-DirectX-11-3D-without-perfomance-drop-and-8-core-optimization/News/
 


The question is not whether Crysis 2 will require more than 4 cores to run (that would be ridiculous), but whether the game will run better on 4+ cores than on 4 cores or less.
 

55Range

Distinguished
Jun 7, 2010
1,276
0
19,360


Well, i guess that will depend on how the game is optimized and coded- Right
 

nightstalker_ns

Distinguished
Aug 2, 2010
147
0
18,690


thats true cuz thiers always a video card limit line u cant pass
 


I wasn't even referring to that: What happens if, say, a programmer got smart and decided to make 4 main threads, and seeing a quad, offload each thread to a different core. Seems smart right?

Well, what happens when your AV scanner that you configured goes of on the 4th core, just like you set it to? Well, now because all the cores are being utilized, one core is very badly overworked, and that one core will be the system bottleneck [that one thread will slow down everything else].

Hence the downside to a multiple-core architecture: If any one core gets overworked, it can bring every other program that has a thread working on that core to a halt.

Hence a very important programming lesson: Do not try and outsmart the OS scheduler. Only use more resources if there is a corresponding increase in performance. Offloading threads just to make the Task Manager numbers look like you are threading properly is NOT a good way to program.
 

Alex The PC Gamer

Distinguished
Oct 24, 2007
981
0
19,060
Crytek will use multiple core...at least, they will be optimal for both Xbox360 and PS3, which uses about 3 cores (more less). They have been in the spotlight for providing a great benchmark tool (Crysis 1) and I'm sure they will be as good to provide a benchmark tool with Crysis 2.

My prediction is quad = yes. However, Should they achieve that, there would be little benefit to spend tons of time and money in coding for 6-8 cores when only PC versions would benefit from it (and even then, you're talking about a very small niche of consumers). So, I say no more than quad will be used for the upcoming sequel. Ask again when the next console gen is announce (won't be anytime soon)...then we'll talk again.
 

nightstalker_ns

Distinguished
Aug 2, 2010
147
0
18,690



seems like a convincing words
 

Alex The PC Gamer

Distinguished
Oct 24, 2007
981
0
19,060
@Gamerk316: I'm sure you know what you're talking about. However, not to confuse the audience, games (or any other applications) are processed in threads. So even if your AV started scanning, your OS should be able to prioritize everything in order. There might be a bottleneck, but it wouldn't be because the program is able to use quad cores, rather it would be because of the processing power available.

Makes sense?

Cheers,

Alex
 
@Gamerk316: I'm sure you know what you're talking about. However, not to confuse the audience, games (or any other applications) are processed in threads. So even if your AV started scanning, your OS should be able to prioritize everything in order. There might be a bottleneck, but it wouldn't be because the program is able to use quad cores, rather it would be because of the processing power available.

My argument isn't one of processing, its one of segmentation. The more you segment anything, the more possible points of failure you introduce.

Lets assume a Q6600 here, just to make this simple. Lets also assume Windows knows not to put threads on an overworked core.

Lets say you have one program that runs multiple threads, but can run at full speed without using more then one CPU core. Sure, the core the game runs on may hit 95%, maxing out at times, but its not costing you performance. Regardless of what other programs do the the remaining three cores, the program should run at the same speed. However, should more work be put on the core the game is operating on, performance will rapidly suffer.

Now, lets assume you offload half you processing to a second core. Both cores should now be operating at about 50% or so, independent of other processing. However, because one core was already capable of running at full speed, doing this accomplished nothing performance wise, except to give more headroom against a single core getting overworked. (50% extra overhead avaliable)

Now, lets assume we instead offloaded to all four cores (~25% each, for simplicities sake). Again, no performance gain, but each core gained another 25% overhead. However, your now using 50% more cores then you were previously (four instead of two). As such, if any of the four cores gets a heavy processing task (especially if high priority), the overall performance of the program takes a hit, as even though processing on the other three cores may be completed, they all need to wait for that last core to finish its processing.

The point is: There is a point where throwing data on mores cores will lead to less performance.
 

Alex The PC Gamer

Distinguished
Oct 24, 2007
981
0
19,060
@gamerk316: Touché. However, take say Crysis for instance. If someone ran the game on its Dual core rig and utilizes both cores...and out of the blue, some high priority task came up (windows update or something), the game would still run without any disaster. Take that same ideology and give it 2 additional cores. Crytek would have to re-engineer its Crytek engine (or CryEngine) so that its operations/memory allows two additional cores to play with (without sacrificing performance per core). In other words, the tasks do not require 4 cores but rather have to option to use four cores if according to the engine, would make sense.

Also, your segmentation concern is valid but say Crytek, would have built their CryEngine with segmentation and memory allocation in mind. Hence, this is why some developpers opt to redesign an entire engine as oppose to update it. The real question is, how are they going to pull it off? And will they? That will remain unanswered until the benchmarks are out.

Cheers,

Alex

 
I'm not disagreeing; it comes down to managing resources, and how the OS prioritizes threads. I just find all the talk of "It only uses x CPU's" silly, because using more CPU's does not always lead to more performance.

I know from working with multi-CPU hardware, that any OS on the market (even highly optimized embedded ones) see decreasing performance once you go beyond 32 cores, and I'd imagine that with the way Windows is coded, Windows would see the same brick wall at a much lower core count (I wager 12 cores, but with so little software optimized to take advantage of cores dynamically, plus the difficulty of offloading to different CPU's in Windows period, its hard to really tell...)

To put things in perspective, for my seminar project in college, I made game in OpenGL/C++ (think the first Legend of Zelda). On a Pentium 4 with no hyperthreading, the coding had a support far (and often used) up to 40 threads at once. Threading is NOT hard, and you don't need multiple cores to thread.

For those interested (since I feel like bragging right now :D ):
All player characters, enemies, and projectiles came from the same base class; the only difference between them was really how they moved (user input vs random vs a set path) and collision detection (what characters take damage upon a collision).

player char + maximum of 9 enemies + up to 3 projetiles on screen per character, each getting an independent thread upon creation = 10+(3*10) = 40 threads at one time (not bad for a 1.6 GHz Pentium 4, huh :D ).

Just for the sake of running a few tests, I did a REALLY basic recode not long ago where each thread would be put on a different CPU (I simply used a counter, which reset after the last core was used, so threads would be assigned 1-2-3-4-1-2-3-4, etc. Not perfect due to thread destructions leading to an imbalence across the different cores, but good enough for 5 minutes of recoding). Despite the fact I used 4x the cores, I saw no tangable performance benifit (as expected).
 

aragornmg

Distinguished
Sep 30, 2010
15
0
18,510


Hi Gamerk316,

Since you seem to know quite a bit about quad cores and usage of cores for gaming I was wondering if I could get your opinion on these two rigs I am looking selecting from to purchase in the near future.

Looking at these two rigs which one is better? I game infrequently, but like to have good performance from the cpu. Games: DAO, Civ5, SC2, mostly strategy or RPGS - little bit of FPS- MW2

http://tinyurl.com/335utwr

or

http://tinyurl.com/2ueytj2