CPU Undevolting: DO or DON'T?

Discussion in 'Laptops & Notebooks' started by gmavignier, Oct 28, 2020.

  1. gmavignier

    gmavignier Ancient Guru

    Messages:
    1,515
    Likes Received:
    11
    GPU:
    GTX 1660Ti Max-Q
    This is the first time I've ever had a notebook as my main computer. I kind of gave up on desktops as I spent a lot of money and not always got what I hopped for in terms of performance. Now I am more mature and don't care as much for raw performance. So I am back on the game.

    Since I bought my laptop, I noticed temps are a much greater concern than in desktops. So I researched on how I could make things a bit cooler. That was when I ran into undervolting.

    From my research, I found there are no cons on CPU undervolting. I managed to reach about -0.260V and my temps are a lot better.

    Still, I can not believe there are no cons on undervolting. I hope some Guru can make this a bit clearer for me.
     
  2. jbscotchman

    jbscotchman Ancient Guru

    Messages:
    4,868
    Likes Received:
    3,627
    GPU:
    MSI 1660 Ti Ventus
    This is a laptop so I wouldn't even mess with it. Undervolting might lower your temps a bit and performance, but I would stick with the manufacturers specs.
     
  3. zipper

    zipper Maha Guru

    Messages:
    1,075
    Likes Received:
    113
    GPU:
    GTX 680M
    As long as it doesn't crash it's OK.
     
  4. Apparatus

    Apparatus Master Guru

    Messages:
    375
    Likes Received:
    37
    GPU:
    Aorus 1080 ti
    Most probably manufactures do not want the cpu to operate on the edge of stability.
    So there is always a little + in voltage in order to be on the safe side.

    I never tried some laptop undervolting but I also think that you should not bother if it's fully stable.
     

  5. gmavignier

    gmavignier Ancient Guru

    Messages:
    1,515
    Likes Received:
    11
    GPU:
    GTX 1660Ti Max-Q
    That is what I feared. I managed to lower the temps, but I wouldn't want it to come at the cost of performance. What is the principle behind undervolting anyway? Does the processor make it up for the lost voltage somehow in order not to lose performance?
     
  6. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,035
    Likes Received:
    7,028
    GPU:
    GF RTX 2070 Super
    @gmavignier

    You can toy with P-states and C-states so that Windows balanced performance plan becomes "performance on demand".
     
  7. gmavignier

    gmavignier Ancient Guru

    Messages:
    1,515
    Likes Received:
    11
    GPU:
    GTX 1660Ti Max-Q
    That sounds very interesting. Can you link me link somewhere where I can learn more about that?
     
  8. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,035
    Likes Received:
    7,028
    GPU:
    GF RTX 2070 Super
    I wrote an app to edit all power plan settings (many of them are hidden by default) - instead of Windows own advanced power plan settings dialog
    https://forums.guru3d.com/threads/windows-power-plan-settings-explorer-utility.416058/

    And here are settings related to P-states and C-states (in Processor power management subgroup):
    - P-states (legacy ones - not hardware ones, see below)
    Code:
    Setting
        Processor performance increase threshold (06cadf0e-64ed-448a-8927-ce7bf90eb35d)
    Description
        Specify the upper busy threshold that must be met before increasing the processor's performance state (as a percentage).
    Range, Units
        0 .. 100 %
    
    Setting
        Processor performance decrease threshold (12a0ab44-fe28-4fa9-b3bd-4b64f44960a6)
    Description
        Specify the lower busy threshold that must be met before decreasing the processor's performance state (as a percentage).
    Range, Units
        0 .. 100 %
    
    Setting
        Processor performance decrease policy (40fbefc7-2e9d-4d25-a185-0cfd8574bac6)
    Description
        Specify the algorithm used to select a new performance state when the ideal performance state is lower than the current performance state.
    Possible values
        Ideal - Select the ideal processor performance state.
        Single - Select the processor performance state one closer to ideal than the current processor performance state.
        Rocket - Select the lowest speed/power processor performance state.
    
    Setting
        Processor performance increase policy (465e1f50-b610-473a-ab58-00d1077dc418)
    Description
        Specify the algorithm used to select a new performance state when the ideal performance state is higher than the current performance state.
    Possible values
        Ideal - Select the ideal processor performance state.
        Single - Select the processor performance state one closer to ideal than the current processor performance state.
        Rocket - Select the highest speed/power processor performance state.
        IdealAggressive - Select the ideal processor performance state optimised for responsiveness
    
    Setting
        Processor performance time check interval (4d2b0152-7d5c-498b-88e2-34345392a2c5)
    Description
        Specify the amount that must expire before processor performance states and parked cores may be re-evaluated (in milliseconds).
    Range, Units
        1 .. 5000 Milliseconds
    
    Setting
        Processor performance history count (7d24baa7-0b84-480f-840c-1b0743c00f5f)
    Description
        Specify the number of processor performance time check intervals to use when calculating the average utility.
    Range, Units
        1 .. 128 Time check intervals
    
    Setting
        Processor performance increase time (984cf492-3bed-4488-a8f9-4286c97bf5aa)
    Description
        Specify the minimum number of performance check intervals since the last performance state change before the performance state may be increased.
    Range, Units
        1 .. 100 Time check intervals
    
    Setting
        Processor performance decrease time (d8edeb9b-95cf-4f95-a73c-b061973693c8)
    Description
        Specify the minimum number of performance check intervals since the last performance state change before the performance state may be decreased.
    Range, Units
        1 .. 100 Time check intervals
    
    - Turbo boost
    Code:
    Setting
        Processor performance boost policy (45bcc044-d885-43e2-8605-ee0ec6e96b59)
    Description
        Specify by how much processors may opportunistically increase frequency above the maximum when allowed by current operating conditions.
    Range, Units
        0 .. 100 %
    
    Setting
        Processor performance boost mode (be337238-0d82-4146-a960-4f3749d470c7)
    Description
        Specify how processors select a target frequency when allowed to select above maximum frequency by current operating conditions.
    Possible values
        Disabled - Don't select target frequencies above maximum frequency.
        Enabled - Select target frequencies above maximum frequency.
        Aggressive - Always select the highest possible target frequency above nominal frequency.
        Efficient Enabled - Select target frequencies above maximum frequency if hardware supports doing so efficiently.
        Efficient Aggressive - Always select the highest possible target frequency above nominal frequency if hardware supports doing so efficiently.
        Aggressive At Guaranteed - Always select the highest possible target frequency above guaranteed frequency.
        Efficient Aggressive At Guaranteed - Always select the highest possible target frequency above guaranteed frequency if hardware supports doing so efficiently.
    
    - hardware P-states (like Intel SpeedShift) also called Autonomous mode:
    Code:
    Setting
        Processor energy performance preference policy (36687f9e-e3a5-4dbf-b1dc-15eb381c6863)
    Description
        Specify how much processors should favour energy savings over performance when operating in autonomous mode.
    Range, Units
        0 .. 100 %
    
    Setting
        Processor performance autonomous mode (8baa4a8a-14c6-4451-8e8b-14bdbd197537)
    Description
        Specify whether processors should autonomously determine their target performance state.
    Possible values
        Disabled - Determine target performance state using operating system algorithms.
        Enabled - Determine target performance state using autonomous selection.
    
    Setting
        Processor autonomous activity window (cfeda3d0-7697-4566-a922-a9086cd49dfa)
    Description
        Specify the time period over which to observe processor utilisation when operating in autonomous mode.
    Range, Units
        0 .. 1270000000 Microseconds
    
    When hardware P-states are supported and enabled no legacy P-states settings (above) are in effect.

    - C-states
    Code:
    Setting
        Processor idle disable (5d76a2ca-e8c0-402f-a133-2158492d58ad)
    Description
        Specify if idle states should be disabled.
    Possible values
        Enable idle - Enable idle states.
        Disable idle - Disable idle states.
    
    Setting
        Processor idle demote threshold (4b92d758-5a24-4851-a470-815d78aee119)
    Description
        Specify the upper busy threshold that must be met before demoting the processor to a lighter idle state (as a percentage).
    Range, Units
        0 .. 100 %
    
    Setting
        Processor idle promote threshold (7b224883-b3cc-4d79-819f-8374152cbe7c)
    Description
        Specify the lower busy threshold that must be met before promoting the processor to a deeper idle state (as a percentage).
    Range, Units
        0 .. 100 %
    
    Setting
        Processor idle threshold scaling (6c2993b0-8f48-481f-bcc6-00dd2742aa06)
    Description
        Specify if idle state promotion and demotion values should be scaled based on the current performance state.
    Possible values
        Disable scaling - Disable scaling of idle state promotion and demotion values based on the current performance state.
        Enable scaling - Enable scaling of idle state promotion and demotion values based on the current performance state.
    
    Setting
        Processor idle time check (c4581c31-89ab-4597-8e2b-9c9cab440e6b)
    Description
        Specify the time that elapsed since the last idle state promotion or demotion before idle states may be promoted or demoted again (in microseconds).
    Range, Units
        1 .. 200000 Microseconds
    
    Actually I have a Microsoft own document where both settings - "Processor idle demote threshold" and "Processor idle promote threshold" - have another description:
    Code:
    Processor Idle Demote Threshold
    The amount of processor idleness that is required before a processor is set to the next higher power processor idle state. When the processor idleness goes below the value of this setting, the processor transitions to the next lower numbered C-state.
    
    Processor Idle Promote Threshold
    The amount of processor idleness that is required before a processor is set to the next lower power processor idle state. When the processor idleness goes above the value of this setting, the processor transitions to the next higher numbered C-state.
    
    I set both "Processor idle demote threshold" and "Processor idle promote threshold" to 90-something % meaning "when idle % of the CPU is lower than 90-something% demote the idle state (to lighter one)", and "when idle % of the CPU is higher lower than 90-something% promote the idle state (to deeper one)"

    You can actually spy on C-states in Performance Monitor:
    - launch "perfmon.exe /sys"
    - add performance counters "% C1 Time", "% C2 Time", "% C3 Time" and "% Idle Time" (from "Processor Information" group) for all cores;
    - see in what state the cores stay when idle, and under the load - no deep C-states should be used for cores under heavy loads, and otherwise - when cores are idle they should stay in deeper C-states.
    PS C3 - being deepest state, and C1 - lightest state (C0 - not idle state, fully operational).
     
    Last edited: Oct 29, 2020
  9. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,035
    Likes Received:
    7,028
    GPU:
    GF RTX 2070 Super
    @gmavignier

    But before you toy with these settings you should have a clear picture - what exactly are you chasing, and how exactly you test/verify the effect of those settings.

    And just in case, you can always revert power plan settings to default states in Windows power plan settings.

    PS
    And I would advise to not tweak all settings at once. Change one by one testing the difference (before and after).
     
  10. gmavignier

    gmavignier Ancient Guru

    Messages:
    1,515
    Likes Received:
    11
    GPU:
    GTX 1660Ti Max-Q
    In deed that is a lot to take in at once. I will have a look at that thread at home. Thanks for the help.
     

  11. mbk1969

    mbk1969 Ancient Guru

    Messages:
    10,035
    Likes Received:
    7,028
    GPU:
    GF RTX 2070 Super
    I suggest that for P-states you can focus on:
    • Processor performance increase threshold/Processor performance decrease threshold - that pair offers you the means to fine tune ups and downs of P-states. You can set both to same value (just to simplify things). By default they are set to different values (to create kinda hysteresis pattern for P-states).
    • Processor performance decrease policy/Processor performance increase policy - for balanced power plan these should be on "Ideal".

    For C-states you can focus on Processor idle demote threshold/Processor idle promote threshold. You can set both to the same value (again, to simplify things).
     
  12. Ghosty

    Ghosty Ancient Guru

    Messages:
    5,465
    Likes Received:
    121
    GPU:
    Vega 3
    I woldn't mess with the clock speeds or anything else to do with laptop performance. Why? Because they have been factory set and need to say that way to maintain stability and reduce heat.
     
  13. zipper

    zipper Maha Guru

    Messages:
    1,075
    Likes Received:
    113
    GPU:
    GTX 680M
    Depends. My MSI with HK processor has the possibility to overclock with MSI tools. But the paste job is pretty mediocre so that overclocking kicks the processor over 95 C, so I don't use it.
     
  14. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,281
    Likes Received:
    1,022
    GPU:
    Aorus 3090 Xtreme
    As mentioned it might run slower.

    I bought an AMD 3600 cpu/mobo this year and found it would undervolt a little more than 0.5V!
    Its performance dropped about 20% though.
    But a much lesser voltage drop could still give substantial heat benefits while not changing the performance enough for you to care.
    Worth a try.
     
  15. Noisiv

    Noisiv Ancient Guru

    Messages:
    7,340
    Likes Received:
    867
    GPU:
    2070 Super
    there might be some miniscule differences, but it shouldn't run measurably slower if you make sure boosting policy stays the same

    @Mufflore I guess you left everything else at auto and with a huge undervolt (-0.5V) BIOS automatically brought down freq.

    cons: unlikely, but you might kill it. I managed to kill 8700k that was undervolted. and there are reports on Internet of other people doing it too. this one runs fine for almost 3 years now, also undervolted (1.100V adaptive, -0.065V offset)

    no idea how it happened. it was a brand new 8700k, worked more than fine. and while managing things in BIOS (I wasn't messing with anything esoteric in BIOS) and restarting the PC... it killed itself :D
     

  16. Mufflore

    Mufflore Ancient Guru

    Messages:
    12,281
    Likes Received:
    1,022
    GPU:
    Aorus 3090 Xtreme
    Yep thats the point I made.
     
  17. Noisiv

    Noisiv Ancient Guru

    Messages:
    7,340
    Likes Received:
    867
    GPU:
    2070 Super
    View attachment 2808

    PS
    If performance is not a critical issue, say watching movies, browsing, you can use windows pwr.mngm. to safely undervolted your CPU, while Windows underclocks it.

    This will lower your maximum clocks while following the BIOS voltage/freq. table - > default if default in BIOS (is why I call it safe)

    or if you want bigger power/perf. gains you will also undervolt in BIOS

    PPS
    this is basically just an underclock. with voltages following BIOS table. just a simple way to limit heat/power.
     

    Attached Files:

    Last edited: Nov 16, 2020
  18. gmavignier

    gmavignier Ancient Guru

    Messages:
    1,515
    Likes Received:
    11
    GPU:
    GTX 1660Ti Max-Q
    That is where my mistake might be. I used Throttlestop to offset and set the speedshift. I have 4 different profiles set (for gaming, web browsing, best performance and iddle).

    I used FIVR to change the offset voltage on the CPU core and cache. As I recall I also changes the turbo ratio limits. Mainly on the less demanding profiles.

    I will post my config later on today. I thing I might have missed some config and, for that reason, might be losing some performance.
     
  19. Noisiv

    Noisiv Ancient Guru

    Messages:
    7,340
    Likes Received:
    867
    GPU:
    2070 Super
    -0.260V is a huge undervolt.

    it still might boost to factory bins, but it will struggle to do it with those volts. You can check all your CPU voltages, power and frequencies in HWINFO
     

Share This Page