cpu vs gpu

greg209

Honorable
Aug 19, 2013
70
0
10,640
How does a game (pick any game) parse b/w cpu and gpu? in other words, is better to choose a strong gpu/ weak cpu,

or weak gpu/ strong cpu??

i guess i'm asking, why do games require a strrong cpu? if almost everything pivots off the gpu????
 
Solution
Your message is far too large to quote. My statement was only meant to be taken as a very very not in depth intro into why the GPU is more important (for gaming), not wanting to go into the detail you did.

In answer to "This is true to an extent, but your rationale is largely erroneous", this is what happens when you condense a multi-paragraph explanation into a sentence. You have also taken this piece out of context, as I did give the CPU credit "While CPUs are important to the process, the main reason we have such good visuals and detail in our games is due to GPUs."

This video does the best job of answering the original question

Do You Need an Expensive CPU for Gaming?

P1nnacle

Distinguished
As far as games are concerned, it's best to take a strong GPU over a strong CPU there are a few exceptions (like Arma 2 or 3) But this is generally the better way to go. Most games don't require a very powerful CPU, and most don't utilize the CPU to anywhere near its full potential.
 


Modern games tend to lean more towards GPUs, but that's largely because it's easier to scale the purely cosmetic visuals when porting a game from PS3/360 to a PC than it is to scale detailed game logic such as AI, physics, and object interaction. With both the 360 and PS3 featuring 8-way x86 microprocessors, CPUs will become increasingly important in the next couple of years.
 

P1nnacle

Distinguished


Actually, most games lean towards GPUs because they output in parallel verses serial (CPU). This makes them much better for calculating large datasets that have simple values that are rapidly changing (i.e. visuals from a game or video rendering). While CPUs are important to the process, the main reason we have such good visuals and detail in our games is due to GPUs. Most games still aren't programmed to run as multithreaded applications yet, which means you could have a single or dual core CPU that performs on par with the most current quad core w/ hyperthreading when you are gaming.

In conclusion, while CPUs will become slightly more important when mutithreading comes into play on a major scale. GPUs are far more important for the foreseeable future in terms of gaming.

Also, most games are now being ported from PC to console, not vice versa.
 


This is true to an extent, but your rationale is largely erroneous.

Both CPUs and GPUs are functionally complete; they can perform arbitrary arithmetic on arbitrarily large data sets. Where GPUs excel is performing the same operation on multiple datasets at once (vector processing), and then performing a large number of those vector operations at once across a dataset that is not interdependent.

This is known as data level concurrency. For example, a GPU can easily do the following vector summation in 4 vector additions:

A0+ B0 + C0 + D0 = F0
A1 + B1 + C1 + D1 = F1
A2 + B2 + C2 + D2 = F2
A3 + B3 + C3 + D3 = F3

Neglecting load/store operations, the same process would take a CPU 16 arithmetic additions.

GPUs are absolutely atrocious at performing operations that have deep dependency resolution or have operations that cannot easily be distilled down to vector operations.

A GPU would struggle with the following:

A0 + B1 / C3 - F2 = F0
B0 - A2 * F3 / D2 = F1
A0 * F1 * B2 * C2 = F2
D1 - D3 + A1 / B1 = F3

Trying to solve that system of equations would cause a vector processor to cry. Not only are the operations out of order, but there's a dependency in there. F1 cannot be computed until F3 has been computed, F2 cannot be computed until F1 has been computed, and F0 cannot be computed until F2 has been computed. This kind of system is one that is best solved on a CPU because it can be broken down into a large number of individual operations with scalar data sets executed at a faster rate and in no particular order. This is called instruction level concurrency and is the mainstay of CPUs. A GPU may be able to solve a large number of them faster than a CPU can, but a CPU will be able to solve a small number of them quicker, and will be able to solve the first few long before the GPU does. Solving the first few allows the next stage in the game logic to proceed. This is why CPUs are used to handle game logic, it's very muddled so it's not at all suited for GPUs.

Moving on...

It's irritating from a developer standpoint to have to write different game logic for both the PC and the consoles. It's simply easier to QA the logic across the board knowing that it should behave the same way on all platforms. It doesn't make any sense to write an advanced AI, pathfinding, and rigid-body physics system to enhance gameplay only to find out that it's too demanding for consoles and needs to be dumbed down. Dumbing it down can have a detrimental impact on gameplay, which necessitates that some platforms need to be balanced on their own rather than uniformly. The exception that most developers have taken to this is placing hard limits on the scale of the logic, such as the 24 player limit to Battlefield 3 on the consoles compared to 64 on PC.

Graphics on the other hand do not have the same constraints. Adding visual effects to the PC is just a matter of changing render calls and parameters. There's no feedback into the game logic so there's no balance considerations to be had if a PC player is using high resolution textures and 4x MSAA while a console player has neither. It's fluff that can be added with little to no adverse impact.
 

P1nnacle

Distinguished
Your message is far too large to quote. My statement was only meant to be taken as a very very not in depth intro into why the GPU is more important (for gaming), not wanting to go into the detail you did.

In answer to "This is true to an extent, but your rationale is largely erroneous", this is what happens when you condense a multi-paragraph explanation into a sentence. You have also taken this piece out of context, as I did give the CPU credit "While CPUs are important to the process, the main reason we have such good visuals and detail in our games is due to GPUs."

This video does the best job of answering the original question

Do You Need an Expensive CPU for Gaming?
 
Solution