My problem with that though, I'm using a 6-core CPU, while in game my CPU never reaches past 55% and still get massive slow downs so I'm not sure if this issue is a CPU problem but more of a game optimization issue.
CPU-bound mean that's game have some code which use one CPU core for 100% because not every task can be paralleled. So even if your CPU have 12 cores game will be still CPU-bound because particular not optimized task can only use one core.
And this can be pretty easily be linked to the fact that to render a single unit, a single call is done to render this unit, while a common optimization in coding is about batching so that a single call can be done to render many units. this should drastically reduce cpu consumption.
This is one issue, absolutely. It's on my list . I'm also looking at improving how we do batching on the features (trees, etc). Right now it's not as efficient as it should be. It'll be getting better soon... I'm also looking at spreading some of the load for rendering code onto multiple cores, which will help the game scale a lot better on hexacore machines. This is something that's a personal benefit as well, since my home machine has six cores; I want to use them all!