Question / Help CPU and GPU usage both less than 60% but reduced in game performance! Why?? Oo

icaruszera

New Member
so, here's the thing, i'm streaming for some time now and i really enjoyed it so i decided to buy the new 2700x for streaming and it's just a dream come true, i've never seen cpu usage above 60% and i really am a multi tasker. But, last night i tried to use FaceRig on my channel just to create a new way to entertain my viewers, so i was streaming on 720p60fps with preset fast + facerig + spotify + mozilla tabs open + csgo and i barely hit 60% of cpu usage, while my gpu was close to 50%-65%, but i really had a huge performance drop in game while streaming.

I just want to know how that is possible since my pc had resources left...

Has this happened to any of you guys?

Thanks for the help!
 
Last edited:

BK-Morpheus

Active Member
I would first test, how CSGO is scaling with CPU cores. To do so, I would reduce details+resolution ingame, set CPU affinity for the game to just one logic core (Core 0) and check max fps and GPU load (just to check, when the GPU is becoming a bottleneck).
Then add another logic core (Core 2, because Core 1 is a SMT/virutal core) and repeat, until the framerate stops rising.
Many games only use 2 (some times 4) threads, so they stop scaling after 4 real cores.

The problem with the CPU usage is, that on 8 cores with 16 threads, a CPU bottleneck might be at place, even when there is only 50% load. For example when 8 threads are maxxed out and the other 8 threads are at idle, you will only see 50% load, although those 8 threads are running into a CPU bottleneck.

After checking the CPU scaling of CSGO, you coud set the CPU affinity of CSGO to use only Core 0 - 7 and then set OBS (and FaceRig) to use only Core 8 - 15. This way OBS should not be able to affect CSGO as much as with all cores for all programs.
 

icaruszera

New Member
I would first test, how CSGO is scaling with CPU cores. To do so, I would reduce details+resolution ingame, set CPU affinity for the game to just one logic core (Core 0) and check max fps and GPU load (just to check, when the GPU is becoming a bottleneck).
Then add another logic core (Core 2, because Core 1 is a SMT/virutal core) and repeat, until the framerate stops rising.
Many games only use 2 (some times 4) threads, so they stop scaling after 4 real cores.

The problem with the CPU usage is, that on 8 cores with 16 threads, a CPU bottleneck might be at place, even when there is only 50% load. For example when 8 threads are maxxed out and the other 8 threads are at idle, you will only see 50% load, although those 8 threads are running into a CPU bottleneck.

After checking the CPU scaling of CSGO, you coud set the CPU affinity of CSGO to use only Core 0 - 7 and then set OBS (and FaceRig) to use only Core 8 - 15. This way OBS should not be able to affect CSGO as much as with all cores for all programs.

This makes A LOT of sense, thx for the help im gonna try as soon as i get home!
 
Top