Help me understand CPU utilization

mazeroth

Golden Member
Jan 31, 2006
1,821
2
81
So I'm benchmarking my current computer (X4 630 @ 3.5) before I change video cards from my GTX 260 to my new 6850. I ran Unigine Heaven 2.1 a few times and had task manager opened so I could alt+tab and check my CPU utilization while the benchmark was running. Settings were DX10, 1920x1200, 16x AF, 4x AA. The most I saw my CPU being used was at 28%. Why is this? Does this mean that if my CPU was an i7 @ 4.5 ghz. that it wouldn't matter because it was handling everything Unigine was throwing at it with ease? I then ran GTA IV with 100% traffic density in a highly populated area, alt+tabbed to Windows, and it looks as though my computer never went past 80% CPU utilization. However, from reading up on GTA IV a fast quad core really helps this game.

So, why is my CPU never seeing 100% utilization? I tried setting the affinity to only 1 or 2 cores with Unigine but all I can do is see task manager, I can't actually use it, unlike GTA IV where alt+tabbing actually took me back to the desktop. I'm sure Unigine doesn't utilize four cores but I just don't understand the GTA IV thing when I've seen i7's tear up my weak little X4 630.

Thanks in advance for any help.
 

LoneNinja

Senior member
Jan 5, 2009
825
0
0
I think the reason you don't see 100% usage in GTA IV is because it's actually a tri threaded game, as the 360 uses a 3 core processor. The recommended specs from what I recall was an AMD Phenom X3 or Intel C2Q.


I've got no clue about Unigine as I've never used it nor read about it. If it's designed to stress a video card I doubt it's threaded to stress a CPU as there would be no need to bench that, but honestly I'm just guessing on this one.
 

fffblackmage

Platinum Member
Dec 28, 2007
2,548
0
76
Maybe it's because Unigine Heaven is a GPU benchmark program and not a CPU stress program? Kinda like Furmark, it'll only take 100% of a single core - or 25% overall. That would be my assumption anyways.
 

velis

Senior member
Jul 28, 2005
600
14
81
In both these instances you find yourself bottlenecked by your gfx card.
GTA just doesn't have that much to calculate either. When it finds itself waiting for the gfx card, it waits. All the calculations needed for the next frame have already been calculated...

A multi threaded app will usually (but not necessary) have some inter-thread sync in place. There is a point when calculating further is impossible due to lack of data. And lack of data occurs because you're waiting for a data source to yield some data or simply because there's no need for further output.

The easiest example of this is vsync. if you have it off, proc and gfx card will work as hard as possible to continuously output frames. when you set it on, proc and gfx card will work just as hard as is necessary to output exactly screen refresh rate frames per second. all the rest is waiting for the need to render the next frame. Given a simple enough gfx app, even a single core proc will be under 100% utilized in this case.
Taking this back to the GTA: since you are only outputting say, 60FPS (can be any arbitrary number), constrained by either vsync or your gfx card speed, the other threads are also waiting since it doesn't pay to output music faster than time goes by, calculating people movements beyond the next frame, etc...
This is why you don't have your proc maxed out.

As opposed to my poor E8400, which is :D
 
Dec 30, 2004
12,553
2
76
I think the reason you don't see 100% usage in GTA IV is because it's actually a tri threaded game, as the 360 uses a 3 core processor. The recommended specs from what I recall was an AMD Phenom X3 or Intel C2Q.


I've got no clue about Unigine as I've never used it nor read about it. If it's designed to stress a video card I doubt it's threaded to stress a CPU as there would be no need to bench that, but honestly I'm just guessing on this one.

GTA4-- Well the Xbox360 cores have dual threading...
I thought GTA would suck up all available resources because for the PS3 they used the SPEs for shadow calculations.
 

Seero

Golden Member
Nov 4, 2009
1,456
0
0
So I'm benchmarking my current computer (X4 630 @ 3.5) before I change video cards from my GTX 260 to my new 6850. I ran Unigine Heaven 2.1 a few times and had task manager opened so I could alt+tab and check my CPU utilization while the benchmark was running. Settings were DX10, 1920x1200, 16x AF, 4x AA. The most I saw my CPU being used was at 28%. Why is this? Does this mean that if my CPU was an i7 @ 4.5 ghz. that it wouldn't matter because it was handling everything Unigine was throwing at it with ease? I then ran GTA IV with 100% traffic density in a highly populated area, alt+tabbed to Windows, and it looks as though my computer never went past 80% CPU utilization. However, from reading up on GTA IV a fast quad core really helps this game.

So, why is my CPU never seeing 100% utilization? I tried setting the affinity to only 1 or 2 cores with Unigine but all I can do is see task manager, I can't actually use it, unlike GTA IV where alt+tabbing actually took me back to the desktop. I'm sure Unigine doesn't utilize four cores but I just don't understand the GTA IV thing when I've seen i7's tear up my weak little X4 630.

Thanks in advance for any help.
Under Unigine benchmark, your CPU spend 72% of the time waiting. Faster CPU means more time waiting. Under GTA4, your CPU spend 20% of the time waiting after you alt-tab. The cause of the wait is a combination of bottlenecks, the speed and availability of the CPU can also be a factor of this combo.

To remove bottleneck and make your CPU work 100% of the time, you will need to have >= n independent threads, where n is the number of cores you have. Prime95 is a program that does that.