Questions/requests about CPU clock and usage

andreacos92

Member
Hi Martin,

I'm using HWiNFO64 v5.44-3070 on my Asus G751JY. I used it for years, and recently I started using the OSD monitoring with RTSS during my gaming sessions.
I can OC my CPU up to 3.8 GHz, but I want to determinate the minimum CPU clock that doesn't bottleneck the GPU (at least for the games I usually play), and monitoring CPU and GPU frequencies, usage, temps, FPS, ecc straight during gaming is a great thing.

I have some questions/requests:

- Is it possible to add a single entry for the CPU clock? Currently I can monitor all the 4 cores clocks, but it would be nice if I can monitor the CPU clock with a single entry. Maybe the lowest core clock, or the average one, so I can be sure the clock remains constant at the value it should.

- In order to check if the CPU bottlenecks the GPU, the Max Thread Usage is really helpful. But from what I've noticed, since most games don't use HyperThreading, the CPU can bottleneck even if the Max Thread Usage isn't at 100%.
For example, if a game uses Core #0 Thread #0 at 70% and Core #0 Thread #1 at 30%, Max Thread Usage reports 70% (if other core threads usages are below 70% ofc), but actually the Core #0 is running at 100% since HyperThreading is not used. Is this right?
If so, is it possible to have the Max Core Usage too?
It should be something like Max[Core #x Thread #0 Usage + Core #x Thread #1 Usage] / 2, where x = 0,1,2,3 in my case because I have a quad Core. So, if Max Core Usage is at 50%, the Core is fully used without HyperThreading.


Maybe what I wrote it's a bit convoluted, but I hope it is right and understandable :)

Thanks in advance.
 
It's not true that games don't use Hyper-threading (HT). If HT is enabled in system (BIOS), then applications (including games) don't usually choose on which core/thread they run. If they use multiple threads, then the operating system decides on which CPU core or thread it's run. To applications a HT thread appears same as the primary core thread. Of course, it's possible for an application to request to run on a specific CPU core/thread (setting affinity), but it's extremely unlikely that games do this.
 
Ok, of course applications and games see all logical cores, so in my case they see 8 cores. But I noticed that most of them (especially not the newest games) use the two threads of a single physical core like they are a single core, so the average Usage between Thread #1 and Thread #2 of the same physical core doesn't exceed the 50%.
There are some tests and benchmarks that show how HT doesn't help at all in games, and sometimes it decreases performances.

In this case, how can I see if a CPU core is hitting the limit of usage?
 
I believe this is due to the system scheduler, which in first instance assigns work to primary core threads.
And since a core with HT shares certain hardware resources, you probably won't be able to know the true utilization of the entire unit based on simple usage percentage in the operating system, which isn't aware of exact hardware implementation. This would require much more detailed usage counters, which I don't think are available.
 
Back
Top