Ryzen Zen 2 Incorrectly Displaying Reduced CPU Power Warning

I was told to make yet another thread in Bug Report to report this issue.

All Ryzen third generation Zen 2 processors cause Heroes of the Storm to incorrectly display the reduced CPU power warning. In my case I am using the Ryzen 9 3900X, however others have reported the exact same issue with the Ryzen 5 3600X and Ryzen 7 3700X. Hence supporting my argument that this bug applies to all Zen 2 processors. Having the warning icon constantly showing is kind of annoying, especially when HotS is performing very well and not showing any signs of there being a CPU issue.

The warning is clearly being displayed as a false positive. Game performance is awesome, with FPS never dropping below 120 (possibly GPU bottlenecked in my case) with highly consistent frame times and <7% CPU usage (my case as the 3900X is 12 core, the 8 and 6 core parts will show proportionally larger CPU usage). Even if the CPU is running in a reduced power state it really should not be reported as a problem when performance is this good.

I suspect the algorithm does not like how AMD’s Precision Boost 2 operates. It will alter core clocks every millisecond (AMD’s recommended AMD Balanced power plan). To optimize performance and power efficiency, precision boost 2 will likely have most of the idle cores disabled as workloads like HotS will require the use of at most 2-3 at any given time. Disabled cores report a nonsense clock frequency back if queried, specifically the last frequency they were operating at which might be as low as 400 MHz. Even non-disabled cores might be running at a lower than base clock speed as Precision Boost 2 will only push up the clock if the active workloads demand it.

Precision Boost 2 has 3 clear modes of operation which will be selected based on what workload is running on the system. There is low power mode where all cores are enabled, operate at a very low voltage (sub 0.4V) and at 400 MHz. Low power mode is mostly used to idle the processor if there are no demanding workloads to execute, e.g. staring at a blank desktop with all background applications closed. Then there is single thread low power mode where the processor shuts down most of the cores except 1-2, raises the voltage to 1V and runs at 1-2GHz odd. Single thread low power mode is run when all cores are still idle most of the time but there is enough CPU usage that the 400 MHz of low power mode is not sufficient, for example updating a Discord window. Both these modes are lower power modes, use approximately the same power and do not effect Heroes of the Storm as Heroes of the Storm applies a high single core utilization and so requires high power performance mode.

Precision Boost 2 high power performance mode has the voltage at the maximum operating voltage (varies on bin of each core and workload), pushes frequency to maximum on the required cores while disabling any cores which are idle. By keeping idle cores disabled the remaining cores can be given a larger chunk of the controlling limits allowing them to achieve clock speeds very close to the advertised boost clock for low threaded applications. If an application operates more threads then more cores will be quickly made active at full performance as appropriate however doing so may cause the CPU to run into controlling limits and so force the average active core frequency down to stay within these limits. What this means is a chip like the Ryzen 9 3900X will hit around 4.4-4.6 GHz running HotS but only 3.9-4.1 GHz running a heavy all core AVX load. The end result is that games like HotS running in this high power performance mode, which they will do automatically when using the AMD Balanced power plan, run fantastically.

I suspect the bug might be with measuring CPU clock speed. Apparently disabled cores, cores not currently needed for the system workload, report their last active clock speed which is usually either 400 MHz or 1-2 GHz when a workload like HotS is being run in the high power performance mode. Seeing how this is well below the base frequency and an extremely low frequency for modern x86-64 processors this could easily fool some sort of classic CPU throttling detection algorithm that the CPU is operating in a reduced performance state despite it operating optimally.

As such either the detection method being used for the reduced CPU power warning needs to be updated to factor in the mechanics of Precision Boost 2 running the AMD Balanced power plan or the warning has to be disabled when HotS is detects it is running on a Zen 2 processor. If one wants to update the warning logic I would recommend contacting AMD as there might be an intended approach to detecting if the CPU is stuck in such a state. Otherwise most owners of Zen 2 would be happy having the icon not showing for them, since as it currently stands the warning is utterly useless for them anyway as it shows 100% of the time even when there is no problem.

Note the terminology I used above to describe the modes of how Precision Boost 2 works is of my own creation based on observations of my 3900X under various workloads with Ryzen Master. AMD and other people likely refer to them differently.

2 Likes

Hey DrSuperGood,

Thanks for the detailed write-up! I just wanted to let you know that we have this issue tracked and are currently investigating. I’ve forwarded this thread to our engineers for any additional investigation.

Also just wanted to say thanks for being a continual positive voice in the community!

Thank you,
~ Fizivix

Thanks for the update. Since making the post I have looked into boost performance after being made aware that many Ryzen 3000 users are not hitting close to their boost clock speeds.

Just this week AMD has admitted that something is not working correctly with the Precision Boost 2 performance when the CPU is operating at near boost clock speeds. The result is that Ryzen 3000 CPUs might fall short of their boost clocks by over 100 MHz, significantly larger than intended. They stated they will announce more details next week and that the fix will likely require a motherboard BIOS update.

Further more I have observed this where by switching the power mode to Windows default “power saving” allows the CPU to boost to a higher clock speed than any other power mode, even AMD’s very own high performance and their recommended balanced mode. Now this is not practical as “power saving” has very poor responsiveness to work load changes so will likely result in degraded performance for dynamic loads like games. However it does prove what AMD has admitted that something is not working correctly with Ryzen 3000 precision boost 2 when operating at high clock speeds.

Depending on what the AMD error is and how HotS detects reduced CPU performance this could possibly be the cause.

I was curious whether “power saving” caused the issue and so I ran 7zip benchmark in background to keep my 3700X at full load while playing HotS. Well, with all cores boosting to 4.0-4.1GHz, HotS still notified of “low CPU power” - yeah, blasting 16 threads on 7zip bench and pushing 150FPS in the game, with all cores at 97-100% load and no thermal throttling.
Curiously, in my case, the older BIOS from 07/07 didnt cause HotS to display this icon, but newer BIOS from early august does.
Maybe the game somehow detects when CPU boost is limited by power threshold (while still boosting far beyond base).

Many people report that the August BIOS update was also the one which reduced maximum boost clock speed by around 100 MHz or more. Unfortunately I cannot verify this personally as I took ownership of my system after the BIOS update was deployed and I do not want to risk downgrading to verify this. However it would make sense that the lower CPU boost clock speeds are the result of the CPU reporting itself as being throttled.

An interesting thing I noticed in Ryzen master is that it states that HotS is only running 2 cores at ~2.7 GHz when active in fullscreen mode. Now I am unsure if this is the result of averaging multiple frequency samples during a display period or not but if it is the case it would mean that HotS performance is not even frequency or boost limited but likely GPU limited in my case.

EDIT:

Tried running a beta BIOS version of AGESA ABBA and although it has vastly improved core boosting (now hitting 4.51 GHz so sub 100 MHz from rated) it has not made the “Reduced CPU power” warning disappear in HotS.

HotS just must not like what AMD is doing to manage CPU power and boosting.

I have a Ryzen 3700x with Gigabyte Aorus b450 Elite motherbaord with latest BIOS and i have the same issue.