BUG: Windows 11 Power saver plan

Brass Contributor

Windows 11 keeps my CPU (Ryzen 7 5800X) at maximum frequency with the Power saver plan, minimum processor state is set to 99% and maximum processor state to 100%.
On Windows 10 that works as supposed, but not on 11.
So just opening Edge I noticed that CPU went up, by a lot, 64C!

After a while it only drops down to 50C, while on Windows 10 it will drop down to 36C from 43C.
When taking the attached screenshots I noticed one difference between the power plan on the two OS versions, there is something missing on 11,  "System cooling policy".
Could the reason for the power plan in question not working normally be that something else has been removed as well?

10 Replies

Just for info, HWMonitor 1.44 shows the same difference.
Also take note that the pump and fans cooling my CPU are controlled by the motherboard and not any software installed on Windows.
Knowing that just look at the RPM difference (615 vs 1235).

Updated from Windows 10 21H2 to Windows 11 build 22000.184 yesterday, didn't face the issue so far.

Played a game  for an hour, watched a few YouTube videos, computer was idle some minutes and the issue is back. *sigh

On build 22000.282 now, issue still exists, also seen other Ryzen users write about it.

Some more info that should be useful for pinpointing the issue.

On Windows 11 I had to switch to Balanced with the Power Mode set to Balanced and set the clock multiplier down with 1 to get the same result, Power Saver plan is still borked on 11, goes to max with browser and other stuff that normally does fine at stock frequencies.
Not quite sure why it only works on 11 when turning the multiplier down instead of using the CPU's stock value.

On Windows 10 21H1 this issue doesn't exist, not sure about 21H2 but I doubt it.

When is Microsoft/AMD going to fix this issue?
Do we really need to roll back to Windows 10 or switch to another OS for our Zen 3's to throttle up and down based on demand instead of hampering them or running full blast 24/7?

If Ryzen doesn't slow down the CPU clock,
you'll need to edit the registry yourself or use a third-party power plan.
First, if the game mode is enabled, try disabling it.

Here's what I'm testing.
If anyone wants to use it, create a system restore point in advance.

 

[RCPP] Ryzen Custom Power Plan (v0.63).zip

https://drive.google.com/drive/folders/176UurikjSSODn7KEX_K5BVLElvxywkCg 

 

Custom Power plan, Sample Video

https://www.youtube.com/watch?v=DCXVvuAuhxc 

 

RCPP_0.61.png

 

 

RCPP_0.61_Application-Profile_umamusume.png

@tanaka_777 
That plan looks pretty descent, how does it behave when you throw some heavy game at it?

I'm currently using Process Lasso to switch between powersaver and a custom balanced plan dependent on what I run, which also ensures that no cores are parked for multithreaded applications, but at the same time I did set a temperature limit within BIOS. 
That allows me to run Windows 11 with all it's bells and whistles including Game Mode.
Will test your profile v6 later to see how it compares, still funny that we have to sort to 3rth party/custom plans to make it work when it worked perfectly fine on Windows 10.

In most cases, a properly tuned power plan will work just fine.
*Core Park can be displayed with the following GUID.
powercfg -attributes SUB_PROCESSOR 0cc5b647-c1df-4637-891a-dec35c318583 -ATTRIB_HIDE

 

*The following items are required to finely control the clock.

4d2b0152-7d5c-498b-88e2-34345392a2c5
7d24baa7-0b84-480f-840c-1b0743c00f5f
d8edeb9b-95cf-4f95-a73c-b061973693c8
06cadf0e-64ed-448a-8927-ce7bf90eb35d
12a0ab44-fe28-4fa9-b3bd-4b64f44960a6
0cc5b647-c1df-4637-891a-dec35c318583
893dee8e-2bef-41e0-89c6-b55d0929964c

 

 

@tanaka_777 
Thanks, the attached batch scripts are really helpful, installed the plan and edited one of them to my preference to make it work on Windows 11 like it did for me on Windows 10 together with some minor improvements.

@echo off
setlocal
cls


: ###### USER SETTING ###### (START)

: Responce Mode [CPU Usage vs Clock Control]
: (Custom=0 / Slower=1 / slow=2 / Normal=3 / Fast=4) <- Low Power --- Performance -> *Default=0
set Responce=0

: Turbo Mode [Strength]
: P-State (Disable=0 / Enable    =1 / Enable   =2 / Efficiency=3 / Efficiency=4)
: CPPC2   (Disable=0 / Efficiency=1 / Agressive=2 / Efficiency=3 / Aggressive=4)
set TB_MODE=2

: Min Clock Setting *Default=0 (0-100%, auto=0)
set MinClock=60

: Max Clock Setting *Default=0 (0-9999MHz, auto=0)
set MaxClock=4700

: Active Core Percent (1-100 %)
: 100=All Core Active, 75=75% Core Active, 50=50% Core Active
set Active_Core=100

: Priority CCD Mode
: *EPYC16C=2CCD , EPYC24C/32C=4CCD , EPYC64C=8CCD
: *Ryzen 5100/5300/5500/5600/5700/5800=1CCD , 5900/5950=2CCD
: (Custom=0 / 1CCD=1 / 2CCD=2 / 4CCD=4 / 6CCD=6 / 8CCD=8) *Default=0
set CCD_Count=0

: ###### USER SETTING ###### (END)
: ###### SYSTEM SETTING ###### (START) *Not Change

: Target GUID
set GUID=ea000000-BBBB-0001-0170-000000000100

: fine clock correction
set /A LimitClock=MaxClock+30
if %MaxClock%==0 set /A LimitClock=MaxClock+0

: Processor performance time check interval [4d2b0152-7d5c-498b-88e2-34345392a2c5] (4-250ms)
set PPSI=1

: Historical count of processor performance [7d24baa7-0b84-480f-840c-1b0743c00f5f] (1-120)
set HCPP=16

: Processor performance degradation interval count [d8edeb9b-95cf-4f95-a73c-b061973693c8] (1-100)
set PPDI=40

: Processor performance Core pending concurrency threshold [2430ab6f-a520-44a2-9601-f7f23b5134b1] (0-100)
: Exsample, gather=97, variance=0, AllSync=100
set PPCPT=3

: Processor Performance Core Pending Overuse Threshold [943c8cb6-6f93-4227-ad87-e9a3feec08d1] (5-80)
set PPPT=85

: Processor performance Core pending concurrency headroom threshold [f735a673-2066-4f80-a0c5-ddee0cf1bf5d] (0-100)
set PPCPCHT=65

: Heterogeneous thread scheduling policy for short running threads [bae08b81-2d5e-4688-ad6a-13243356654b]
: (All=0 / Performance Processor=1 / Priority Performance Processor=2 / Efficiency Processor=3 / Priority Efficiency Processor=4 / Auto=5)
set HTSS=4

: Heterogeneous thread scheduling policy [93b8b6dc-0698-4d1c-9ee4-0644e900c85d]
: (All=0 / Performance Processor=1 / Priority Performance Processor=2 / Efficiency Processor=3 / Priority Efficiency Processor=4 / Auto=5)
set HTSP=2

: SHORT THREAD RUNTIME THRESHOLD us (0-100000)
set STRT=3200

: STRT calc (Convert decimal to hexadecimal)
cmd /c exit %STRT% & call set STRT16=%%=exitCode:^~-8%%

: Processor performance core parking increase time [2ddd5a84-5a71-437e-912a-db0b8c788732]
set PCPI=3

: Processor performance core parking decrease time [dfd10d17-d5eb-45dd-877a-9a34ddd15c82]
set PCPD=64

: Throttling Mode [3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb]
: (0=Disable, 1=Enable)
set TTM=1

: ###### SYSTEM SETTING ###### (END)
: ###### MAIN ###### (START)

if %Responce%==0 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35d 67
if %Responce%==0 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35e 70
if %Responce%==0 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 73
if %Responce%==0 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a7 71
if %Responce%==1 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35d 70
if %Responce%==1 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35e 70
if %Responce%==1 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 52
if %Responce%==1 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a7 52
if %Responce%==2 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35d 58
if %Responce%==2 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35e 58
if %Responce%==2 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 40
if %Responce%==2 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a7 40
if %Responce%==3 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35d 46
if %Responce%==3 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35e 46
if %Responce%==3 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 28
if %Responce%==3 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a7 28
if %Responce%==4 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35d 27
if %Responce%==4 powercfg -setacvalueindex %GUID% sub_processor 06cadf0e-64ed-448a-8927-ce7bf90eb35e 27
if %Responce%==4 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a6 12
if %Responce%==4 powercfg -setacvalueindex %GUID% sub_processor 12a0ab44-fe28-4fa9-b3bd-4b64f44960a7 12

if %TB_MODE%==0 Powercfg -setacvalueindex %GUID% sub_processor PERFBOOSTMODE 0
if %TB_MODE%==1 Powercfg -setacvalueindex %GUID% sub_processor PERFBOOSTMODE 1
if %TB_MODE%==2 Powercfg -setacvalueindex %GUID% sub_processor PERFBOOSTMODE 2
if %TB_MODE%==3 Powercfg -setacvalueindex %GUID% sub_processor PERFBOOSTMODE 3
if %TB_MODE%==4 Powercfg -setacvalueindex %GUID% sub_processor PERFBOOSTMODE 4

powercfg -setacvalueindex %GUID% sub_processor 893dee8e-2bef-41e0-89c6-b55d0929964c %MinClock%
powercfg -setacvalueindex %GUID% sub_processor 75b0ae3f-bce0-45a7-8c89-c9611c25e100 %LimitClock%
powercfg -setacvalueindex %GUID% sub_processor 75b0ae3f-bce0-45a7-8c89-c9611c25e101 %LimitClock%

if %CCD_Count%==0 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 100
if %CCD_Count%==1 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 100
if %CCD_Count%==2 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 50
if %CCD_Count%==4 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 25
if %CCD_Count%==6 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 16
if %CCD_Count%==8 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 12
if %CCD_Count%==12 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 8
if %CCD_Count%==16 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 6
if %CCD_Count%==24 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 4
if %CCD_Count%==32 powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 3

powercfg -setacvalueindex %GUID% sub_processor 4d2b0152-7d5c-498b-88e2-34345392a2c5 %PPSI%
powercfg -setacvalueindex %GUID% sub_processor 7d24baa7-0b84-480f-840c-1b0743c00f5f %HCPP%
powercfg -setacvalueindex %GUID% sub_processor 943c8cb6-6f93-4227-ad87-e9a3feec08d1 %PPPT%
powercfg -setacvalueindex %GUID% sub_processor f735a673-2066-4f80-a0c5-ddee0cf1bf5d %PPCPCHT%
powercfg -setacvalueindex %GUID% sub_processor d8edeb9b-95cf-4f95-a73c-b061973693c8 %PPDI%
powercfg -setacvalueindex %GUID% sub_processor 93b8b6dc-0698-4d1c-9ee4-0644e900c85d %HTSP%
powercfg -setacvalueindex %GUID% sub_processor bae08b81-2d5e-4688-ad6a-13243356654b %HTSS%
Powercfg -setacvalueindex %GUID% sub_processor SHORTTHREADRUNTIMETHRESHOLD 0x%STRT16%
powercfg -setacvalueindex %GUID% sub_processor 3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb %TTM%
powercfg -setacvalueindex %GUID% sub_processor 2430ab6f-a520-44a2-9601-f7f23b5134b1 %PPCPT%
powercfg -setacvalueindex %GUID% sub_processor 2ddd5a84-5a71-437e-912a-db0b8c788732 %PCPI%
powercfg -setacvalueindex %GUID% sub_processor dfd10d17-d5eb-45dd-877a-9a34ddd15c82 %PCPD%
powercfg -setacvalueindex %GUID% sub_processor ea062031-0e34-4ff1-9b6d-eb1059334028 %Active_Core%
@rem powercfg -setacvalueindex %GUID% sub_processor 0cc5b647-c1df-4637-891a-dec35c318583 %Active_Core%

echo [RCPP][zen3][Win11] Low Power / BIG.LITTLE
echo + Gaming Zen3 (Limit 4.70GHz_Mode-P)
echo.
echo P Core (Fast Clock Core) : Game Loading, I/O (Short Time, Heavy Thread)
echo E Core (Slow Clock core) : 3D Rendering (Long Time, Light Thread)
echo.
echo Responce=%Responce% / MinClock=%MinClock%%% / MaxClock=%MaxClock%MHz / Turbo Mode=%TB_MODE%
echo * P-State (Disable=0 / Enable    =1 / Enable   =2 / Efficiency=3 / Efficiency=4)
echo * CPPC2   (Disable=0 / Efficiency=1 / Agressive=2 / Efficiency=3 / Aggressive=4)
echo.
echo SHORT THREAD RUNTIME THRESHOLD : %STRT% us / %STRT16% (Convert decimal to hexadecimal)
echo Heterogeneous Short Thread Mode : %HTSS%
echo Heterogeneous Thread Mode : %HTSP%
echo *(All=0 / Performance Processor=1 / Priority Performance Processor=2 / Efficiency Processor=3 / Priority Efficiency Processor=4 / Auto=5)
echo.

powercfg /SETACTIVE %GUID%
echo GUID:%GUID%
echo.
echo push CTRL+C key to PAUSE

endlocal
timeout 5
exit

: ###### MAIN ###### (END)