SilverAzide wrote: ↑May 29th, 2023, 4:39 pm
Win11 22H2 made a really noticeable change to the time-based performance counters, which clearly got everyone's attention since the numbers now vary significantly from the utility-based counters. MSI Afterburner and HWiNFO seems to have worked around this issue by creating their own time-based counters. Whether you think time-based or utility-based counters are the "correct" way to report CPU usage seems to be a matter of opinion nowadays. Microsoft clearly thinks utility-based counters are the way to go.
Firstly, wanted to say thanks @SilverAzide for all the info in your post (I quoted above what I understood to be the 'core' of the issue but referring generally to everything you wrote overall.. [I genuinely appreciate it when people take the time and effort to provide longer / more detailed replies as I know first hand how much longer this takes (but also the benefit this has) and so wanted to say thanks for that!]
SilverAzide wrote: ↑May 29th, 2023, 4:39 pm
Time-based counters are hilariously and clearly wrong. For example, I had a laptop that would clock itself down to <1 GHz speeds when on low battery. Using the time-based counters, it would easily show the CPU running at 100% "usage", which was true because the CPU was 100% busy crawling along at like 800 Mhz. Plug it in and tada, the CPU usage was magically now at 25% "usage" [as it was now running] at 3+ GHz.
With utility-based counters, CPU usage would be reported at 25% all the time, plugged in or not, since it factors in the CPU's clock speed.
[NOTE: Some changes made to original text to fit context better, no intention to mis-quote or mis-represent!]
Thanks for this example, whether intentionally or coincidentally this helped me understand the wider problem/issue/challenge, or at least help me understand the rationale for the change better.
Interestingly, in the example above, I would actually prefer the time-based metric. To elaborate, to date, I have generally always considered CPU usage (what I think of as 'performance') as like the max speed of a car...
- Say I am driving on a nice, flat, smooth piece of road; top gear, foot all the way down on the accelerator... Lets say the car goes 200mph, then I would consider this 100% "usage", because that is the most (maximum 'performance') the car can do.
- If I am driving at 100mph (same conditions) then I would consider that 50% "usage" as the car is doing half of what it is capable of.
- Now, if the above 200mph is based on the car's "base" max speed and has a "turbo" mode that let's it go 300mph on the same road, then actually the above changes and I would say going 200mph is only 66% "usage" as the car is capable of doing 33% more 'performance' (i.e. in this case speed).
- Similarly, if instead of that road I am driving up a steep hill in rough terrain (i.e. trying to be analogous to the laptop being in low battery mode), if with everything maxed the car can only do 50mph up that road, and I am doing 50mph, then I would consider that 100% "usage" as yes, the car can do more in different conditions, but right now the car is not capable of going any faster and so 50mph is 100% of what it can do.
- Yes, I can take that same car, put it on a runway and it will zoom along at 300mph again, but I can't zoom up a 45° hill at 300mph
- So personally, I would be quite happy (and even prefer) my laptop saying 100% "usage" when it's on low-battery mode and the CPU is being throttled/down-clocked, as I would want to know that right now the CPU is working as hard as it can, and so say doing a video-encoding job would be a bad idea as the CPU is already maxed and so will be painfully slow... Also, plugging my laptop in and see that I now have 75% more "usage" 'available' would make total sense to me.
NOTE: I realise now (and again, thanks to @SilverAzide for helping me understand this better) that part of the 'issue' is that performance is more subjective that I had always thought and while time-based metrics make sense for me personally (at least AFAIK), I totally appreciate that people may/will disagree (arguably for valid reasons) and so ultimately I suppose it's probably about what makes most sense for you. So, not disagreeing with you at all @SilverAzide if you use / recommend utility-based metrics, simply trying to explain my perspective.
⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤
Now, just to muddy the water slightly
-- The initial reason I came to reply to this thread was to ask for help as I just got back from holiday, had updated my rainmeter skin to reflect all 12 threads that I have, however I was still having an issue (or at least what I thought was one), where my overall CPU "usage" was >100%...
- Reflecting on the above (and other comments / things discussed) I am wondering if that is maybe more along the lines of 'correct' / (potentially) 'expected behaviour' - if it's supposed to be accounting for things like my CPU boosting above it's base clock?
- Personally, I would prefer my "usage" to reflect the 'max performance' of the CPU, is this possible (easy), i.e. just switching back to using time-based counters?
- How would this compare against say Task Manager, i.e. ...
└ If I was using 'time-based' metrics before but this meant I was seeing different numbers to what Task Manager was reporting
└ I switched to 'utility-based' metrics (AFAIK) to align with Task Manager (which generally fixed this issue)
└ However, I've never seen Task Manager usage go >100%
- Personal / FYI: NOT criticising, just sharing - I was stunned for a split-second when I saw some of your cores at 180% (coming from the mindset I explained above), but I guess you're happy with this and find this useful(?)... I appreciate you have P- and E- cores, and so maybe that makes it more relevant(?)
ONE LAST THING -- @SilverAzide Been meaning to say for ages, I really like your
Gadgets skin - every time I see it I think about switching to use it instead, nice work!
⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤⏤
Yincognito wrote: ↑May 30th, 2023, 10:31 am
I guess the effect on the user depends on whether he also sees the clock speed...
TBH, this post is already
FAR longer than I originally intended
but just to say thanks also to @Yincognito as appreciate your input + comments!... For the sake of my sanity I haven't replied directly to your post but tried to factor it in the overall above, thanks
TECH SPECS (FOR CONTEXT) -- I daily drive a 3y laptop (always plugged-in) with an i7-9750H (12 threads | 6 cores (older/std, not E/P)... base clock 2.6Ghz, boost 4.5Ghz. My CPU is essentially always 'boosted' AFAIK...