Yeah, i dont think i was clear in my post above.
Unity does a great job at keeping my GPU completely loaded. It is 100% the bottleneck. I have 6 cores with 12threads and not many games make use of all those threads. My CPU is not always pegged out but my GPU almost always is. Unity spreads the load across all 12 threads to achieve that. They all get used pretty evenly, utilization across all threads. I was looking at the graph and most of the time each thread is floating somewhere between 20-40%. But they all dynamically shift, in an interesting way. Sometimes one thread will start to carry more of a load but its quickly shifted and brings up the lower used threads. On average, its about 30-35% across all 12 threads with every single one going up and down as the engine balances the load in real time.
But you see, in the more demanding places the load goes up but it is still spread across all threads pretty evenly. The CPU will try to keep the GPU pegged out. There really isnt many games that i have seen balance the load across 12 threads like that. I will have to go back and check games like Bf4 and crysis 3.
Its not that the CPU is being bogged down by inefficiency usage. The "its how you use it" response, its not really like that. I dont think i was clear enough in my first post. The CPU usage will increase, spread evenly across all my threads, keeping the GPU fully loaded. The engine is special in how fast it distributes the load and how quickly and evenly it is split up.
For the most part, the CPU load is 30% on each thread. It climbs up when it has to and it is interesting watching the load balancing happening in action.