Question Low Cpu utilization but low fps

Nov 11, 2019
10
0
10
So I am playing on a dell precision m4700 with an i7 3840qm, and in graphically demanding games, I will have 100% gpu usage which is fine, I understand that since my gpu is working at 100% my cpu will not reach 100%, but when I am playing Arma 2 or 3 or playing CS:GO which are more cpu intensive, neither my gpu doesnt reach 100% which means it graphically can handle the games, but my cpu doesnt reach 100% or go above 60% usage, I checked hardware monitor after playing for a while, none of my cores went above 60% utilization the fps isnt to my liking in arma 2 or 3 as it drops below 60 a lot, and in csgo, the fps is fine but I dont understand why it isnt better and my cpu isnt running at more usage. I also used XTU and ran a benchmark which the cpu usage reached 90%, I should also mention that my thermals are fine on my cpu and never go above 75 degreese celsius, so my question is: Why is my cpu running not running at 100% in Cpu intensive games but in xtu benchmarks it will run at 90%
 
Nov 11, 2019
10
0
10
I have an external 1060 3gb, the graphics arent the problem, and like i said, the only games that reach 100% gpu utilization are the more graphically demanding games
 
Nov 11, 2019
10
0
10
How is that card connected? Thunderbolt? The bus could be tied up with other things. Just a thought. Are you watching your temperatures? If so, what are you watching them with?
The card is connected over a pcie 1x gen 2 slot (mini pcie) it is the only device connected on the pcie slot, I used both rivatuner osd and openhardware monitor to monitor temps, cpu doesn't go above 75 and you usually doesn't go above 65 or so since it is not in a case or anything
 

InvalidError

Titan
Moderator
It does not matter how many cores you have. As soon as a game's primary control thread or whatever other thread runs the heaviest part of game mechanics hits 100% activity, you have a CPU bottleneck. The game's engine cannot iterate more than X steps per second and CPU/GPU usage drops. Since Windows' scheduler has a tendency to bump threads between cores, 100% activity in the bottlenecking thread can be split whichever way between all available threads and look like only 13-20% total CPU usage on a 4C8T CPU. Easiest way to find out if a thread is maxed out is to use something like Process Explorer's threads list to see how many threads are maxed out on CPU usage where 100% activity in one thread shows as 1/Nth of total CPU utilization, N being the total number of available hardware threads such as 12.5% (1/8th) CPU utilization for a 4C8T or 8C8T CPU.

If CSGO was genuinely "CPU-intensive", people wouldn't be achieving 200+fps on modest/old PCs. The only thing that makes it "CPU-intensive" is the ludicrous frame rates some people are aiming for simply because they can in such lightweight games and the slightly reduced lag can also provide a slight competitive advantage.
 
Nov 11, 2019
10
0
10
It does not matter how many cores you have. As soon as a game's primary control thread or whatever other thread runs the heaviest part of game mechanics hits 100% activity, you have a CPU bottleneck. The game's engine cannot iterate more than X steps per second and CPU/GPU usage drops. Since Windows' scheduler has a tendency to bump threads between cores, 100% activity in the bottlenecking thread can be split whichever way between all available threads and look like only 13-20% total CPU usage on a 4C8T CPU. Easiest way to find out if a thread is maxed out is to use something like Process Explorer's threads list to see how many threads are maxed out on CPU usage where 100% activity in one thread shows as 1/Nth of total CPU utilization, N being the total number of available hardware threads such as 12.5% (1/8th) CPU utilization for a 4C8T or 8C8T CPU.

If CSGO was genuinely "CPU-intensive", people wouldn't be achieving 200+fps on modest/old PCs. The only thing that makes it "CPU-intensive" is the ludicrous frame rates some people are aiming for simply because they can in such lightweight games and the slightly reduced lag can also provide a slight competitive advantage.
I dont know if this is waht you are looking for: View: https://imgur.com/gallery/0NVMEWB

but from what I can tell arma 2 is using 3 threads, could you advise me further on what I should be looking for?
 
The card is connected over a pcie 1x gen 2 slot (mini pcie) it is the only device connected on the pcie slot, I used both rivatuner osd and openhardware monitor to monitor temps, cpu doesn't go above 75 and you usually doesn't go above 65 or so since it is not in a case or anything
A GTX 1060 connected over 1xPCIE, will drop the performance of the card by around 60-70%. That is about the performance of a GTX 1050 or even lower. The system simply cannot feed the GPU enough data over the 1x PCIE lane to fully utilize the CPU and GPU.
 

InvalidError

Titan
Moderator
but from what I can tell arma 2 is using 3 threads, could you advise me further on what I should be looking for?
That process has no CPU usage and the description says "launcher" so the actual game process must be elsewhere.

Due to the amount of automatic threading in Windows libraries, APIs and SDKs, even "Hello World" uses 10+ threads these days, albeit mostly sleeper that won't do anything besides going to sleep as soon as they are created and only wake up again when whatever resource they are waiting for gets destroyed as the program shuts down.
 
Nov 11, 2019
10
0
10
A GTX 1060 connected over 1xPCIE, will drop the performance of the card by around 60-70%. That is about the performance of a GTX 1050 or even lower. The system simply cannot feed the GPU enough data over the 1x PCIE lane to fully utilize the CPU and GPU.
This is not true, maybe the performance of a 1050 is true but if my gpu was bottlenecking my cpu in the games I'm concerned about it's utilization would be showing higher usage like up in the higher 90's like it does in my more you intensive games such as sea of thieves or rust or heck even Minecraft with shaders, in the games I'm concerned about, the GPU usage doesn't go above 60%
 
Last edited:
Nov 11, 2019
10
0
10
No exactly what I was looking for.... This is a laptop, correct? What device are you using to connect the video card to the laptop? Is it something like this?
It is an exp gdc version 8.4 I am supplying the card with enough wattage, but as I said the card is not the problem, the games I. Concerned about are not GPU intensive, they are cpu intensive but the CPu is not reaching high utilization, even on any single core while playing and I am still not getting very good fps my question is why is it not being used fully when the fps is not very high
 
Last edited:
Nov 11, 2019
10
0
10
Maybe this thread will help:
View: https://www.reddit.com/r/eGPU/comments/bf80p9/how_much_performance_loss_for_exp_gdc_v84/


Here is my summary of your issue: the CPU will go idle while it's waiting on data to process across the slower bus of the EXP GDC. Once it receives the request from the game, and the bus clears, usage will go up.
Once again man this isn't my issue, I loaded up an os using the same everything except on this I used the Quadro k2000m which runs on gen 2 16x , surprise surprise when I loaded up Arma 2 a non GPU intensive game, GPU didn't goabove 70% usage, cpu usage still low fps still the same, I repeat for the last time that there is no problem with my gpu besides the fact it runs at 1050 performance, it is not bottlenecking my cpu in the games I'm concerned about so please if you don't know the answer to my question please stop trying to move the conversation over to extraneous information (if you have nothing usefully to say, don't say it)
 
Last edited:
Nov 11, 2019
10
0
10
That process has no CPU usage and the description says "launcher" so the actual game process must be elsewhere.

Due to the amount of automatic threading in Windows libraries, APIs and SDKs, even "Hello World" uses 10+ threads these days, albeit mostly sleeper that won't do anything besides going to sleep as soon as they are created and only wake up again when whatever resource they are waiting for gets destroyed as the program shuts down.
So how would I go about seeing which threads are maxed out in process explorer if that’s possible
 

InvalidError

Titan
Moderator
So how would I go about seeing which threads are maxed out in process explorer if that’s possible
You find the process that is running the actual game, check the thread list and see how many threads in there are using 1/Nth of the CPU. The main thread is practically always running as fast as it can, so you will pretty much always see one thread at 1/Nth with vsync off or high-refresh monitor.
 

TRENDING THREADS