Page 3 of 3

Re: [Bug] PowerPlugin reporting 0 MHZ clock speed on AMD CPUs

Posted: August 1st, 2020, 10:07 pm
by Yincognito
buckb wrote: August 1st, 2020, 7:28 pm I looked at processor frequency and scaling a few years back:

https://forum.rainmeter.net/viewtopic.php?f=119&t=29020&p=151406&hilit=buckb#p151406

For my CPU skin, I settled on:

1) CPU utilization: "Processor Information\% Processor Utility"

2) CPU frequency: Nominal processor frequency from the registry's "HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System\CentralProcessor\0\~MHz" multiplied by Perfmon's "Processor Information\% Processor Performance"

I found these values to best match what Task Manger and Resource Monitor were reporting. I found PowerPlugin's reported frequency to be unreliable across my machines (all Intel).

--buckb
Quick question, if by any chance you're aware of it: will this work for overclocked CPUs? Cause I saw this issue being mentioned on other threads regarding the ability to get an accurate reading of the current CPU frequency.

Re: [Bug] PowerPlugin reporting 0 MHZ clock speed on AMD CPUs

Posted: August 1st, 2020, 10:38 pm
by buckb
Yincognito wrote: August 1st, 2020, 10:07 pm Quick question, if by any chance you're aware of it: will this work for overclocked CPUs? Cause I saw this issue being mentioned on other threads regarding the ability to get an accurate reading of the current CPU frequency.
I don't know the answer for sure, but I think it might work. I base my guess on two things. First, I do know that when Turbo Boost kicks in, % Processor Performance goes above 100% to reflect the speed boost over the nominal processor frequency. Second, my Windows 7 machine is overclocked from 2.80GHz to 3.15GHz and the registry entry ~MHz does report the cpu frequency as 3150MHz.

I can't test further because the % Processor Performance counter doesn't appear to exist on Windows 7 and none of my Windows 10 machines are overclocked.

Hope this helps.


--buckb

Re: [Bug] PowerPlugin reporting 0 MHZ clock speed on AMD CPUs

Posted: August 1st, 2020, 11:35 pm
by Yincognito
buckb wrote: August 1st, 2020, 10:38 pm I don't know the answer for sure, but I think it might work. I base my guess on two things. First, I do know that when Turbo Boost kicks in, % Processor Performance goes above 100% to reflect the speed boost over the nominal processor frequency. Second, my Windows 7 machine is overclocked from 2.80GHz to 3.15GHz and the registry entry ~MHz does report the cpu frequency as 3150MHz.

I can't test further because the % Processor Performance counter doesn't appear to exist on Windows 7 and none of my Windows 10 machines are overclocked.

Hope this helps.


--buckb
Indeed, that's useful - thank you for sharing it. :thumbup: I didn't overclock my CPU, but for those who did, this might prove to be an excellent solution. Let's see what SilverAzide has to say after doing his own tests, as besides his own resources and attempts, he has an extensive user base using his Gadgets and they could provide an equally comprehensive feedback, at least in the long run, if he decides to implement it.

To me, the method seems ok, as the % Processor Performance is multiplied by the nominal CPU frequency from the registry, which doesn't appear to be modified when forcing a certain percentage on the CPU from the Power Options in Windows (but curiously and fortunately, seems to be modified when overclocked, as per your statements).

Re: [Bug] PowerPlugin reporting 0 MHZ clock speed on AMD CPUs

Posted: August 2nd, 2020, 12:02 am
by SilverAzide
OK, so based on the above observations, for a working work-around to the PowerPlugin issue with AMD Ryzen CPUs and for overclocking/underclocking, AND that should work on Windows 7 (i.e., not return zero), would be something like:

Code: Select all

[MeasureCPUFrequency]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0
RegValue=~MHz

[MeasureCPUPercentPerformance]
Measure=Plugin
Plugin=UsageMonitor
Category="Processor Information"
Counter="% Processor Performance"
Name="0,_Total"

[MeasureCPUSpeed]
Measure=Calc
Formula=MeasureCPUFrequency * (MeasureCPUPercentPerformance ? MeasureCPUPercentPerformance : 100) / 100
In Windows 7 you'll at least see the base clock; for later OSs, you should see a number that's almost a match for what Task Manager shows.

Re: [Bug] PowerPlugin reporting 0 MHZ clock speed on AMD CPUs

Posted: August 2nd, 2020, 12:30 am
by Yincognito
SilverAzide wrote: August 2nd, 2020, 12:02 am OK, so based on the above observations, for a working work-around to the PowerPlugin issue with AMD Ryzen CPUs and for overclocking/underclocking, AND that should work on Windows 7 (i.e., not return zero), would be something like:

Code: Select all

[MeasureCPUFrequency]
Measure=Registry
RegHKey=HKEY_LOCAL_MACHINE
RegKey=HARDWARE\DESCRIPTION\System\CentralProcessor\0
RegValue=~MHz

[MeasureCPUPercentPerformance]
Measure=Plugin
Plugin=UsageMonitor
Category="Processor Information"
Counter="% Processor Performance"
Name="0,_Total"

[MeasureCPUSpeed]
Measure=Calc
Formula=MeasureCPUFrequency * (MeasureCPUPercentPerformance ? MeasureCPUPercentPerformance : 100) / 100
In Windows 7 you'll at least see the base clock; for later OSs, you should see a number that's almost a match for what Task Manager shows.
Yep, looks good here, same CPU percentage forcing as before (no Ryzen, obviously):
PerfM vs Power.jpg
It even adds an increased sense of accuracy, having the value not matching exactly the Power plugin (or Power Options setting, for that matter) reported frequency. :D