Lonbjerg
Diamond Member
- Dec 6, 2009
- 4,419
- 0
- 0
I don't care about task manager load graphics,
I have seen plenty of benchmarks and played plenty of Arma 2 to say, the game is mostly using 2 cores, and does not show clear performance improvements with more cores (more than 3), it shows with IPC, clock, cache... whatever.
I don't care what you think you have seen, when the devs are quite clear themselfes:
http://www.bistudio.com/english/company/developers-blog/91-real-virtuality-going-multicore
Goal and Means
It is important not to lose the sights from the goal, which is the performance increase. All other things are secondary. One example of wrong metrics is a concurrency level. Concurrency level tells us how much are the additional cores used. This factor is very easy to measure (you can do it in default system task manager), and that is probably why many hard core end users and reviewers are interested about it. Often you can see phrases like "Game XXXX is using quad cores very well, because when you watch CPU usage in task manager, you see all cores are running 100 %". It is very easy to create a trivial program which will make "full use of all cores" - all you need to do it to spawn a few threads and make them spin in an infinite loop. Concurrency is not a goal, only a mean. It is required, but not sufficient. Real life scenarios are more intricated then idle loops, but the principle is the same: using CPU does not mean you get any benefit from using it. In many cases the overhead of going "threaded" is so high that even when two cores are running 100 %, the performance improvement is very small, say about 20 % from single core, and the difference between quad and dual is even smaller.
Conclusion
ArmA 2 gets following improvements from running on a dual/multi core:
- improved rendering performance
- smarter AI
- larger scenes possible (higher view distance, more objects in view, more AI units) with little performance drop, especially on multi core machines
My bet is that a lot of people posting in this thread suffers from the Concurrency -syndrome...due to limited understanding of game engines.