Jump to content
Sign in to follow this  
scaramoosh

Why do we have CPU heavy games when GPUs are much more powerful?

Recommended Posts

I'm not an expert by no means and I'm talking out of my arse here, however from the face of things, I just don't get it.

CPUs = 130 odd gflops and GPUs = 5Tflops these days so there is a giant performance difference from benchmarks. Whenever I play a CPU heavy game it performs badly, yet whenever I play a GPU heavy game like BF3 or Crysis 3 it performs amazingly well considering the graphical fidelity there. I also see CPU heavy games that don't use multithreading and especially for AMD systems, it seems to be throwing away so much potential away as a result. When again I play multithreaded games like the latest BF games or Crysis games they benchmark so well compared to CPUs that do not support this like the I5s and AMD suddenly gain so much since all their cores are finally being used.

So I just don't get this game and lots of other games that seem to go CPU heavy, use barely any GPU performance and don't bother with multithreading...

Is it just a hang up from an old engine that they've been evolved at a time when the GPUs didn't have such a performance advantage as they do today?

Share this post


Link to post
Share on other sites

First Arma is using multithreading.I know this from CEO posts somewhere on forums (wish I would remember right now)

And neither Crysis or BF3 features such vast map so it's unfair comparison since games are so different in aspects.

Share this post


Link to post
Share on other sites

Why do we drive cars when aeroplanes are faster and (according to statistics) a lot safer at the same time?

"So I just don't get this game and lots of other games that seem to go CPU heavy" is probably because you only have an idea in your mind, but no experience on how a frame is constructed in a game.

I'll be a bit more specific, so that you won't call me a jerk:

Video card is good for applying shiny sparkling effects on some objects.

CPU is good for actually working with those objects.

So a GPU heavy game has a few objects, but good shading, and whatnot.

A CPU heavy game has a lot of objects, with less eyecandy.

Good news: it is totally up to you which one you prefer. Only rule: either or.

Edited by zapat

Share this post


Link to post
Share on other sites

i woulkd recommend you try to inform yourself a bit more before posting such embarrassing comment.

in short:

bf and latest crysis just utilize all cores with stuff like debris and gras, thats simple tasks and ideal to utilize ht or modules full, but with no real worth within the game exept eyecandy.

arma and other cpu heavy game simulate/calculate paths and so on in real time(x-rebirth/starcraft), thats time sensetive so multithreading is extremly difficult to do or only with very high overhead.

gpus have the problem that(in very simple speech) they just count 1+1 per clock cycle, for every(even slightly) more complex calculation more cycles are needed and with the today used 1ghz you can´t do much there. and gtx760 only used for ai in arma 3 would for example barely beat a atom dual core due to high overhead(multithreading on many shader cores) and way too simple instruction set(many cycles for one simple calculation).

i hope it is simple enough to understand(but no way precise... shame on me) the issue and prevent you from asking such questions again^^

Share this post


Link to post
Share on other sites

I hope you didn't mean that my comment is embarrassing.:)

Debris and gras are typical eye candy. Doesn't matter for the other objects (like AI) when they are calculated.

Share this post


Link to post
Share on other sites
I'm not an expert by no means and I'm talking out of my arse here, however from the face of things, I just don't get it.

CPUs = 130 odd gflops and GPUs = 5Tflops these days so there is a giant performance difference from benchmarks. Whenever I play a CPU heavy game it performs badly, yet whenever I play a GPU heavy game like BF3 or Crysis 3 it performs amazingly well considering the graphical fidelity there. I also see CPU heavy games that don't use multithreading and especially for AMD systems, it seems to be throwing away so much potential away as a result. When again I play multithreaded games like the latest BF games or Crysis games they benchmark so well compared to CPUs that do not support this like the I5s and AMD suddenly gain so much since all their cores are finally being used.

So I just don't get this game and lots of other games that seem to go CPU heavy, use barely any GPU performance and don't bother with multithreading...

Is it just a hang up from an old engine that they've been evolved at a time when the GPUs didn't have such a performance advantage as they do today?

You can't do general purpose programming on a GPU, up until few years ago when CUDA became available. And even today programming general purpose programs for GPUs is a pain in the ass compared to "normal" programming.

Also looking at flops is naive to say the least, a gpu is massively parallel number crunching unit and that is what makes them good for shading pixels on your screen and otherwise manipulating the image.

You really just can't compare them.

Share this post


Link to post
Share on other sites

GPUs are more powerful but much much much less flexible. It's as simple as that. Most algorithms you'll try to adjust and optimize to run on a GPU will actually work slower than they would on a CPU simply because the restrictions the GPU requires in order to function.

The restrictions of the GPU don't really restrict graphics-related code, but once you try to run more generic code then forget about running it efficiently on a GPU. In general, the more specific use a processor/platform has, the better it can be optimized for that purpose, but at the same time be much weaker for other purposes. There's a reason there's a 'G' in "GPU".

As for ArmA, it's actually both GPU and CPU intensive. It's just that the GPU intensiveness can be toned down by changing the graphic settings, while for reducing CPU load you have to reduce the number of things actually happening in-game. This is why multiplayer missions with lots of AI have problems even at minimum graphic settings, yet small simple single player missions work fine, at least as long as your GPU is strong enough to handle the graphic settings you have defined.

Edited by galzohar

Share this post


Link to post
Share on other sites

GPUs are highly optimized and limited to do mostly graphical/visual computations and rendering, a significant bulk of Arma3's computations are non-graphical (eg AI behaviour, path tracking and trajectory calculations in real time) which require the CPU.

Edited by MissionCreep

Share this post


Link to post
Share on other sites

DX... DrawCalls and Clears.

As said Frostbite, and Cryengine are not really "multi-core". They did try, but ran into the "its not worth it". Thats why the Frostbite team (different than BF) came up with Mantle. thats why Crytec is doing a Mantle, and dozen other engine creators . When GPUs didnt have the power they had now, it wasnt a big issue. Engines were not leaving power behind. But now, so much wasted power.

Only use of a powerful GPU with 3GB or more VRAM now is Uber Resolutions (1440p,1600p) and max AA+. Maybe Bis will redo the RV for more cores? But Bis isnt Frostbite, or Crytec with huge lic$$ to build a new improved engine. They most likely have to wait on MS fixing DX for the overhead...and I bet MS will..DX13?

Share this post


Link to post
Share on other sites

CPU heavy games are not a conscious decision. Games that do a lot of stuff besides rendering graphics (Examples: Supreme Commander (Lots of units), CitiesXL (Lots of city simulation), KSP (Lots of single threaded-CPU physics) are always CPU heavy because not all calculations can be done easily on the GPU.

ArmA3 runs fine without scripts and AI since at that point there is nothing to bother the CPU, but it is not a lot of fun to play without many of the (custom, and sometimes badly written) features.

Share this post


Link to post
Share on other sites

why are GPS's not more built to display arma and arma-like games? only small area shooters GPU'S are optimized for?! thats unfair!

Share this post


Link to post
Share on other sites
why are GPS's not more built to display arma and arma-like games? only small area shooters GPU'S are optimized for?! thats unfair!

Where did you get that idea from?

Share this post


Link to post
Share on other sites
CPU heavy games are not a conscious decision. Games that do a lot of stuff besides rendering graphics (Examples: Supreme Commander (Lots of units), CitiesXL (Lots of city simulation), KSP (Lots of single threaded-CPU physics) are always CPU heavy because not all calculations can be done easily on the GPU.

ArmA3 runs fine without scripts and AI since at that point there is nothing to bother the CPU, but it is not a lot of fun to play without many of the (custom, and sometimes badly written) features.

No, not really. I have an AMD FX8350 and even when I launch an editor mission on Stratis with nothing but myself my CPU is still bottlenecking the game (and it's only my first core, the other 7 cores are all at less than a quarter utilization).

Share this post


Link to post
Share on other sites
i woulkd recommend you try to inform yourself a bit more before posting such embarrassing comment.

i hope it is simple enough to understand(but no way precise... shame on me) the issue and prevent you from asking such questions again^^

I completely agree. It is unbelievable that the OP would come onto an internet forum and ask a question to which he did not already know the answer. He should absolutely have researched his answer to the question, before posting said question. Same goes for making an incorrect assertion - we all know that anything posted on an internet forum needs to be 100% correct. I'm embarrassed for him!

Share this post


Link to post
Share on other sites
First Arma is using multithreading.I know this from CEO posts somewhere on forums (wish I would remember right now)

And neither Crysis or BF3 features such vast map so it's unfair comparison since games are so different in aspects.

The size of the map contributes little to the performance issues. Primarily it's the way the engine handles vegetation and AI. A lot of both cause the game's FPS to drop significantly.

Share this post


Link to post
Share on other sites
I completely agree. It is unbelievable that the OP would come onto an internet forum and ask a question to which he did not already know the answer.

Sorry, I gotta flame a bit. Show me ONE question here:

I also see CPU heavy games that don't use multithreading and especially for AMD systems, it seems to be throwing away so much potential away as a result.

When again I play multithreaded games like the latest BF games or Crysis games they benchmark so well compared to CPUs that do not support this like the I5s and AMD suddenly gain so much since all their cores are finally being used.

So I just don't get this game and lots of other games that seem to go CPU heavy, use barely any GPU performance and don't bother with multithreading...

Sure, ARMA has its problems (like the above mentioned houses) which has zero, nil, nothing to do with the GPU - CPU singelCore/multiCore architecture.

Share this post


Link to post
Share on other sites
Sorry, I gotta flame a bit. Show me ONE question here...

Well, there's the thread title right there at the start. Which is a totally reasonable question from someone trying to educate themselves. Then the rest of the post gives us more context so we can understand the questioner's current level of knowledge and what thinking they've already done, so we can answer as well as possible. I'm not sure that it could have been done much better, really.

Share this post


Link to post
Share on other sites

Its the vegetation and objects that eat all the cpu. if you turn down objects and set TerrainGrid 50, voila 100fps but its a absolute eye sore.

Couple high draw distance with objects that have high lod, collisions, (normal mapping?) and lighting. you can color me surprised getting anything above 10fps.

Share this post


Link to post
Share on other sites

Arma's bad performance is ,for sure, not caused by graphics ... it's all those AI calculations and scripts (which are made by the cpu) that kills the performance ! i'd even say that the synchronization is the issue, that's why you see sometimes your GPU running only at 20% ,simply because other calculations are not done in time !

Besides,arma cannot be compared to any other game on the market ! everything happening is real time calculated and known by every entity on the map !

The engine is old,but i am sure that none of the engines you stated can do what RV does , it will lag massively way more than Arma because they were optimized to do a very specific thing!

Edited by Xalteva

Share this post


Link to post
Share on other sites

Besides,arma cannot be compared to any other game on the market ! everything happening is real time calculated and known by every entity on the map !

Could compare it to total war. which is also a cpu hog.

Share this post


Link to post
Share on other sites
I'm not an expert by no means and I'm talking out of my arse here, however from the face of things, I just don't get it.

CPUs = 130 odd gflops and GPUs = 5Tflops these days so there is a giant performance difference from benchmarks. Whenever I play a CPU heavy game it performs badly, yet whenever I play a GPU heavy game like BF3 or Crysis 3 it performs amazingly well considering the graphical fidelity there. I also see CPU heavy games that don't use multithreading and especially for AMD systems, it seems to be throwing away so much potential away as a result. When again I play multithreaded games like the latest BF games or Crysis games they benchmark so well compared to CPUs that do not support this like the I5s and AMD suddenly gain so much since all their cores are finally being used.

So I just don't get this game and lots of other games that seem to go CPU heavy, use barely any GPU performance and don't bother with multithreading...

Is it just a hang up from an old engine that they've been evolved at a time when the GPUs didn't have such a performance advantage as they do today?

Bohemia are still using the "old" model of doing things.

For some graphical performance, you need Mantle or another API close to it and this is easy to see and test. Just jump in the editor, load the bigger map, set de draw and object distance to higher levels, terrain and object details as well. Use GPU Z or another software to look after the GPU load. As you increase your view distance, the gpu usage will fall like a rock and this is happening not in dx 9 where API bottleneck is even more sever, is happening in dx11.

Same deal in ArmA 2, object details just kills performance due to the cpu not being able to send fast enough, all the work to the gpu.

Then you have the issue of AI. At some level it can be done on the GPU, but needs serious R&D time. AMD has shown about 5 years ago a demo with 3000 independent AI, tessellation and global illumination, all running on the 4800 series (so about 3 or 4 generations ago and about 5x less performance than now - I think 4870 had roughly 1,2TF).

Physics is the 3rd performance killer which also after a certain level is impossible to be done with good enough performance on the CPU.

Bottom line, there may be alternatives, but require manpower (mantle should be the cheapest one with great performance gains) and R&D. Considering that they are still working on the current state of affairs so that the game is actually getting done and getting better, don't expect anything groundbreaking in the near future. Probably ArmA 4 or the next Day Z to bring something new to the table.

Edited by calin_banc

Share this post


Link to post
Share on other sites

well, i hope when they announce "upgraded engine" for arma 4, it won't be another lie. hopefully it'll be "new engine"

Share this post


Link to post
Share on other sites

Arma 4? I'm sorry to dissapoint you but keep your expectations low. What I hope for is another company entering the scene creating games like Arma but with better engine. Maybe then BIS will realise that this is not a monopoly and the may do more to keep their throne and their customers.

Edited by Nikiforos

Share this post


Link to post
Share on other sites
Bohemia are still using the "old" model of doing things.

For some graphical performance, you need Mantle or another API close to it and this is easy to see and test. Just jump in the editor, load the bigger map, set de draw and object distance to higher levels, terrain and object details as well. Use GPU Z or another software to look after the GPU load. As you increase your view distance, the gpu usage will fall like a rock and this is happening not in dx 9 where API bottleneck is even more sever, is happening in dx11.

Same deal in ArmA 2, object details just kills performance due to the cpu not being able to send fast enough, all the work to the gpu.

Then you have the issue of AI. At some level it can be done on the GPU, but needs serious R&D time. AMD has shown about 5 years ago a demo with 3000 independent AI, tessellation and global illumination, all running on the 4800 series (so about 3 or 4 generations ago and about 5x less performance than now - I think 4870 had roughly 1,2TF).

Physics is the 3rd performance killer which also after a certain level is impossible to be done with good enough performance on the CPU.

Bottom line, there may be alternatives, but require manpower (mantle should be the cheapest one with great performance gains) and R&D. Considering that they are still working on the current state of affairs so that the game is actually getting done and getting better, don't expect anything groundbreaking in the near future. Probably ArmA 4 or the next Day Z to bring something new to the table.

Mantle will do nothing if performance is limited by the AI and battle simulation, which causes the worst performance drops. Will only allow for greater viewdistance or detail, waste of resources imo, especially with only a fraction of players having a compatible gpu.

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×