The big CPU hog and prime candidates for these vector operations nowadays seems to be video encoding.
The big CPU hog and prime candidates for these vector operations nowadays seems to be video encoding.
Because of the single core performance unless you are playing a really CPU intensive game which has been optimized for multiple cores (more than 4) (or running an insane SLI setup 3-4 way and need the extra PCIE lanes) the 6700K with as high overclock as possible (4.6-4.7ghz) is pretty much the bare minimum for GTX 1080 or better GPU's and even that isn't enough.
Here's Bioshock infinite: http://images.anandtech.com/graphs/graph8426/67045.png
Here is F1 2013: http://images.anandtech.com/graphs/graph8426/67044.png
So sometimes it matters almost as much as regular productivity task (like compiling software): http://media.bestofmicro.com/ext/aHR0cDovL21lZGlhLmJlc3RvZm1...
http://blogs.unity3d.com/2014/07/08/high-performance-physics...
It's syntax is also pretty close to C and C++ which means developers with game dev background will feel at home as most game development is done in C++.
Unreal Engine uses Unreal Script which is now pretty much C++ but it is also not compiled directly (although with Unreal Engine 4 and onwards it's much closer to direct compile than any other scripting language).
Unity engine has it's own interpreter which then builds highly optimized C++ code and compiles it when you build the game.
Unity Engine is a pretty decent engine with kickass performance when optimized, without fine optimization any general purpose engine including Unreal 4 acts like utter crap. I'm alpha/beta testing a few UE4 games atm and you can see just how bad performance can get even on a solid defacto industry standard like UE4 like when dynamic shadows tank a GTX Titan X (Maxwell) SLI setup to below 20 fps any time there are light sources that are not properly fenced and culled - e.g. explosions.
Do they really need a bazillion shaders and dynamic shadows on everything?
There are more unreal engine titles for any given version than any other engine on the market on PC's and consoles.
On mobile unity is probably bigger atm.
CPU performance is important when there is a lot going on (most of the frame latency is CPU side), and when the CPU's are really busy dealing with other stuff like heavy AI or tons of NPC's you get poor frame rates and scalability with GPU processing power.
Good examples of real CPU hogs would be the latest Civ games as well as games like Assassin's Creed Unity. ACU is especially a CPU killer, if your CPU OC is stable playing ACU it's really stable, I've seen that game cause CPU's that are not technically overclocked crash on their normal boost clock when the memory XPS profile was loaded.
The two games your parent named basically are physics simulators.
Minecraft is also CPU bottlenecked pretty much but that's because well the game was built with Java :)
All those voxels take up a good chunk (heh) of processing time. They are not all static, you know. Not sure how much of that could be shifted to the GPU.
• Only works on Windows
• Only works with Nvidia graphics cards (and only them, cheap nvidia card for physx + AMD card for graphics will disable PhysX)
• Not guaranteed to be faster for all cases, needs to be evaluated on a case-by-case basis
So even if the physics engine can, not all game engines use it. The Unity devs e.g. stated that they won't bother with it, as the limitations make it unattractive to pour effort into.
At the end of the day, most scientific problems based on continuum mechanics need really fast level 1, 2, and 3 BLAS operations. That's mostly enough for simulating physics based on explicit time integrators. For elliptic problems or problems that require implicit time integrators, we need factorizations. Most of the time, we can get away with LU, Choleski, QR, and SVD. Both dense and sparse are required. For optimization with equality constraints, factorizations are also required.
By the way, if anyone wants to figure out how to do faster factorizations, dense and sparse, on whatever new hardware is coming out, that'd have an enormous impact on the scientific community. There are people working on it. There's not a lot of them.
And you will need some of those results on the CPU.
Physics for particles is not uncommon to be done on the GPU though. There is no feed-back to the CPU required so latency becomes a non-issue.
There are several outliers to this - some games are VERY cpu dependant (supreme commander, MMO's like planetside 2), and some which are EXTREMELY inefficient games (Minecraft) which require an order of magnitude more CPU power than it really needs due to architecture problems.
Bottlenecking just means that improving the bottlenecked thing will result in the biggest improvement. The second-biggest performance limiter can still be a significant performance limiter.