As a game programmer, let me just say: The engine is very well optimised, It's just that SC2 has one of the most complicated game engines out there.
Data-driven (You can edit almost everything with the sc2 editor) Synchronous lockstep Completely deterministic Pretty advanced colission avoidance and path finding for large groups of units Deferred rendering engine with transparency Streaming of assets while playing
And a lot more other things. The fact that it's limited to two cores is because the entire simulation runs on 1 core: Deterministic synchronous lockstep is pretty much impossible to multi-thread. The other thread is for the UI, connection to battlenet etc. Of course the game runs worse then for example CoD, because it is doing a billion more things in the background. The only way you can definitly say it's "not that optimized" is by comparing it to other games with similar feature set. The closest current game that you can compare it to is maybe Supreme Commander or any of the Total War series, yet these games look and run even worse then SC2. Face it, if you have a game engine that supports all that stuff and you can have hundreds of units on-screen at once, performance will suffer. It has nothing to do with optimization.
|