@04dcarraher: John Carmack and others have commented how consoles do have better draw call performance than PCs. They are running much slimmer APIs that are built around fixed hardware layouts. It does increase efficiency and reduce overhead.
The biggest bottleneck for consoles last gen was the lack of RAM. 512 mbs just wasn't cutting it even at the beginning of the gen. Game devs have no problem dropping resolution or framerate but they do have a problem when they run out of RAM to do things.
I don't believe that CPUs are the real bottleneck this gen either. CPUs on the consoles last gen were enough games and this gen's CPUs are even stronger. They may be weak compare to even modest PC hardware, but games just do not need super power CPUs. What games really need is better multithread performance.
I've been talking regularly to one of the developers of ArmA 3. He's told me multiple times that they really struggle with multithreading, basically the core of the engine is still running on one thread. This destroy's ArmA's performance. Even OCing a powerful CPU does not seem to have a large effect on ArmA's performance. What is really killing the game is the wait time of the one core.
This seems to spill over to every major game right now. Planetside 2 is in a similar situation. The game is still only really utilizing 1 core and even then it spends a lot of its time waiting for things. This drastically decreases performance.
It's pretty much a known fact that games do not need super CPU power to run well. Most engines, even new ones, are still built around legacy code that was all single threaded. They are slowly upgrading but parallelism is an extremely difficult task. It gets better every year and API improves do help better utilize multiple cores, but it's still going to take time. The problem with games is that you constantly need to be putting out products. You can't spend 3-4 years rebuilding your engine then another 3-4 years developing a game on it. You need to be putting out products more often which really forces R&D to be done quickly and in small increments so they can build games on it.
DX12 has the potential to really help getting code to much more efficiently use the power of existing CPUs. I'm willing to bet that even some of those old quad cores, like the Q6600, would be able to run every modern game no problem if the games could actually take advantage of all of that CPU power. Most CPU cores go completely wasted in games. It's a complete waste of power.
So really hardware isn't everything. With a push towards smaller boxes and mobile devices, devs are going to have to solve these software bottlenecks.
The PS4 and Xbox One's CPUs are weak compared to modern CPUs we see in desktop PCs but super power CPUs aren't actually needed for games. Powerful CPUs are only needed to overcome software bottlenecks that exist. Even my i7 3770k sits mostly unused during the most intensive of games. The PS4 and Xbox One as well as mobile devices are forcing developers to finally address these long standing problems. It's sorely needed. PCs will benefit from these changes as much as anything.
Of course this is all my opinion, but I believe the Xbox One and PS4's CPUs are good enough if they can be properly utilized. API improvements and general improvements to multithreaded performance in game engines will go a long way to make sure what power the console's CPUs do have gets used.
Log in to comment