[SOLVED] Some Threads on 3700x show high utilization while gaming?

SkyRock1986

Prominent
Feb 28, 2019
264
17
695
So I just got a Ryzen 7 3700x and of course i wanted to take it for a spin. I tried a couple games, I noticed in FarCry 5 some cpu usage reach 100% for a split second or close to it? Why? My 2600x never did this. GPU is about right 98/99% Why am I "bottlenecking" I am running it with an RTX 2070 Extreme and 16gb of ddr4 ram
 
Solution
So I just got a Ryzen 7 3700x and of course i wanted to take it for a spin. I tried a couple games, I noticed in FarCry 5 some cpu usage reach 100% for a split second or close to it? Why? My 2600x never did this. GPU is about right 98/99% Why am I "bottlenecking" I am running it with an RTX 2070 Extreme and 16gb of ddr4 ram

Did you enable CPPC and CPPC preferred Cores in BIOS? That tells the processor to inform the OS which are preferred cores and in turn the OS will prefer those cores when scheduling work.

I'm not sure Ryzen 2000 really did much with CPPC, if anything. So, assuming it didn't, Windows' scheduler will move processing from thread to thread indiscriminately even treating a virtual thread the same as a hardware...
So I just got a Ryzen 7 3700x and of course i wanted to take it for a spin. I tried a couple games, I noticed in FarCry 5 some cpu usage reach 100% for a split second or close to it? Why? My 2600x never did this. GPU is about right 98/99% Why am I "bottlenecking" I am running it with an RTX 2070 Extreme and 16gb of ddr4 ram

Did you enable CPPC and CPPC preferred Cores in BIOS? That tells the processor to inform the OS which are preferred cores and in turn the OS will prefer those cores when scheduling work.

I'm not sure Ryzen 2000 really did much with CPPC, if anything. So, assuming it didn't, Windows' scheduler will move processing from thread to thread indiscriminately even treating a virtual thread the same as a hardware thread and even if it incurs a performance penalty because it's using different cache's. With CPPC enabled Windows' scheduler works with a Ryzen 3000 CPU to keep a process on threads with shared resources so it doesn't incur that performance hit.

So, what you might have seen with the 2600X was windows throwing the work around to all the threads rather inefficiently. But with the 3700X the heavy-processing thread is being scheduled on the preferred cores so it can boost higher while the less heavy threads are getting scheduled onto weaker cores.

Also, don't confuse utilization with processing load. It could be fully utilized but the processing load is actually pretty low. Meaning it's executing less efficient code.
 
Last edited:
Solution
So I just got a Ryzen 7 3700x and of course i wanted to take it for a spin. I tried a couple games, I noticed in FarCry 5 some cpu usage reach 100% for a split second or close to it? Why? My 2600x never did this. GPU is about right 98/99% Why am I "bottlenecking" I am running it with an RTX 2070 Extreme and 16gb of ddr4 ram
That does not mean you are bottlenecking. If you had issues with gpu usage being low you might have a bottleneck. A game or driver update could easily change cpu behaviour.
 

SkyRock1986

Prominent
Feb 28, 2019
264
17
695
Did you enable CPPC and CPPC preferred Cores in BIOS? That tells the processor to inform the OS which are preferred cores and in turn the OS will prefer those cores when scheduling work.

I'm not sure Ryzen 2000 really did much with CPPC, if anything. So, assuming it didn't, Windows' scheduler will move processing from thread to thread indiscriminately even treating a virtual thread the same as a hardware thread and even if it incurs a performance penalty because it's using different cache's. With CPPC enabled Windows' scheduler works with a Ryzen 3000 CPU to keep a process on threads with shared resources so it doesn't incur that performance hit.

So, what you might have seen with the 2600X was windows throwing the work around to all the threads rather inefficiently. But with the 3700X the heavy-processing thread is being scheduled on the preferred cores so it can boost higher while the less heavy threads are getting scheduled onto weaker cores.

Also, don't confuse utilization with processing load. It could be fully utilized but the processing load is actually pretty low. Meaning it's executing less efficient code.
So is it okay to see 100% on a thread or two ? It doesn't seem to be effecting anything performance wise that I can actually notice. I was just always told that meant cpu bottleneck