Framerate versus GPU/CPU usage
Loosing FPS when turning? that’s pretty normal, it has to render all the new frames you are looking at and also all the people, also, gw2 is very badly optimised.
In general the game generates two to three “cores” of work most of the time. That means on a quad core like you have you’ll see only 50-75% average usage. In a town setting with not a lot going on but a lot of players, it will lean toward that 50% end of the range.
As for the GPU at 35%, that simply means the CPU side is doing a lot more than just talking to the GPU, mostly because there are a lot of players about. Toss in DR’s multilevel design, rarely seen in open world to that extent (but most cities are), that’s more work for the occlusion pass of the renderer. The card can only do the work it’s being sent. If the CPU is to busy with overhead to keep the GPU well fed, GPU utilization will be low, as long as the GPU is fast enough.
I have a relatively slow GPU and alright quad core CPU and my GPU doesn’t hit 100% at that location either, maybe only 60-70%.
RIP City of Heroes
(edited by Behellagh.1468)
@Behe
Ofcourse I would agree with you if I would see the CPU being fully utilized. But the game doesn’t. As seen in the picture it doesn’t show the CPU usage as a whole, but the usage per CPU core. And even if only 3 cores are utilized, than I would at least expect them to be fully utilized in order to produce the maximum possible framerate.
Right now I’m really wondering if it’s my system that is not powerfull enough, or if it’s the engine which doesn’t make good use of the availlable hardware.
In other words: if I were to upgrade my system (i7 920 + GTX 460) to i5 4670k + GTX 770, would the game even run better as it doesn’t even make full use of the calc power it now has?
@Behe
Ofcourse I would agree with you if I would see the CPU being fully utilized. But the game doesn’t. As seen in the picture it doesn’t show the CPU usage as a whole, but the usage per CPU core. And even if only 3 cores are utilized, than I would at least expect them to be fully utilized in order to produce the maximum possible framerate.
If you could just arbitrarily decide to max out 3 cores, you could probably make it max out some other number of cores, too. Sadly, this is not how writing concurrency into programs works.
The game’s probably logically split into parts like “receive network datagrams”, “apply changes and run client-side world simulation”, “update audio”, “build lists of things to render” and “call Direct3D based on latest lists”, or something. Some of these can run at the same time, in multiple threads. Parts of them might be possible to split into even smaller tasks, with worker threads.
Obviously, you don’t want to add or remove stuff from the local gameworld while the rendering code is preparing to draw it. Same with the audio updates. So sometimes those tasks have to wait for each other, which leads to none of them being capable of loading a core to 100% by themselves unless the game’s badly bottlenecked by what they’re doing.
Right now I’m really wondering if it’s my system that is not powerfull enough, or if it’s the engine which doesn’t make good use of the availlable hardware.
In other words: if I were to upgrade my system (i7 920 + GTX 460) to i5 4670k + GTX 770, would the game even run better as it doesn’t even make full use of the calc power it now has?
Things might run slightly smoother due to the i5-4670K’s faster cores: if the individual tasks finish faster, the game loop will cycle faster even if the cores are not utilized any better or worse, relatively speaking.
Unless you’re obviously GPU bottlenecked (huge effect on FPS when changing resolution and/or render sampling) right now, I don’t think upgrading your GPU will help this much.
Hi there, I have a question regarding the framerate of the game on my PC.
I regularly experience noticeable framedrops while playing the game and this while my GPU and CPU both aren’t even close to 100% usage.
In the attached picture you can see the framerate is still reasonable (51 fps) but it shows a very low usage of the GPU and CPU cores. As regular as the framedrops, as soon as the GPU hits 99% and the cores hit higher ’s (almost never 99 and never all of the cores, but still higher) the framerate goes up to 100+ fps and when I turn my character a quarter the GPU usage can go down to as low as 30% CPU cores usage goes down as well and the framerate hits 35 FPS. This mainly seems to happen in crowded area’s.
So basically what I don’t understand: how does it come the game doesn’t run @ 99% GPU/CPU usage with a 80+ fps in the picture as seen in the attachment while it is able to do so if I f/e look in another direction or walk in another area?
Is this an engine mishap?
You dont list your system specs at all.
What you describe kinda sounds like HDD latency.
Run Coretemp for your CPU monitoring, and see if a single core pegs between 85% and 95% (after upgrading to a 280X I actually have one core at 85%+ the entire time now)
Laptop: M6600 – 2720QM, AMD HD6970M, 32GB 1600CL9 RAM, Arc100 480GB SSD
@Behe
Ofcourse I would agree with you if I would see the CPU being fully utilized. But the game doesn’t. As seen in the picture it doesn’t show the CPU usage as a whole, but the usage per CPU core. And even if only 3 cores are utilized, than I would at least expect them to be fully utilized in order to produce the maximum possible framerate.
Right now I’m really wondering if it’s my system that is not powerfull enough, or if it’s the engine which doesn’t make good use of the availlable hardware.
In other words: if I were to upgrade my system (i7 920 + GTX 460) to i5 4670k + GTX 770, would the game even run better as it doesn’t even make full use of the calc power it now has?
But that’s not how an multitasking OS works. Specific threads aren’t assigned specific cores. There are ways to force it but robs the OS some of it’s ability to manage the resources it’s trying to share. The game has something around 40 threads (portion of the overall program) of code running but only 3 are major consumers (over 50% of a core each) of CPU cycles and roughly another 6 minor consumers (around 10-20% of a core each). The rest run quickly and infrequently to contribute.
But what you won’t see is two cores running at 100% with a third at 50%. That’s not how an OS distributes work. It attempts to balance the workload across all available cores. That’s because a thousand times or so a second every thread running can move from running on one core to running on another. That’s the heart and sole of a multitasking OS. No task/thread can monopolize a core. Every one is halted periodically and another is allowed to run in it’s place. It runs again only when it’s turn comes around and a core is available, which may not be the same as the core it was running on. It’s a oversimplification but that’s why you don’t see some cores at 100% while others are near 0%.
You can use a tool like Process Explorer to see the overall CPU% per thread in this game. So for a quad core the best you will see is 25% for a single thread. This (1st pic) is what I see standing where you are.
I have my GPU running at 80% while my combined CPU is around 66%. As you can see I have one thread running at 20.73% (or 83% of a single core) while the next two are at 9.65% and 9.49% (roughly 35-40% of a core each), one being the primary graphics driver thread.
However if I pop downstairs using my royal pass I get a boost in my frame rate (2nd pic). My GPU is up over 90% while my overall CPU dropped to under 60%. The primary thread is now running at 15.07% or 60% of a core but the next two are at 12.78% and 11.76% or nearly a whole core split between them. I believe these two threads are tightly synced to each other, one feeding the driver and the driver processing the data and synced with the GPU hardware and together will never exceed 25% or one core of performance.
The major difference between the two spots are number of other players present and one being on the second level of DR and one being on the first so more geometry is occluded (blocked) in the first picture than the second.
As for a hardware upgrade. The reason your performance will be better is because the an i5-4670k can do 50 to 60% more work per second than an i7-920. If it takes X amount of CPU cycles to do one frame, being able to do X faster means more frames per second. Even with the same GPU you should see a marked improvement.
RIP City of Heroes
Welcome to DirectX9……hahahaha!