Windows power plan settings explorer utility

Discussion in 'Operating Systems' started by mbk1969, Aug 3, 2017.

  1. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    There are more guid than slider's 3 overlays. On ryzen there's also a setting called "AMD Power Slider" with 4 overlays, I don't know how that's different to the built in slider. OEM and chip vendors and MS are landfilling weird things in registry, making my laptop not being what I want it to be.
     
    Last edited: Sep 12, 2022
  2. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    Those 3 GUIDs are "standard"/fixed so I can use them in the code of PSE. Other OEMs stuff I can`t.

    Upd:
    https://www.reddit.com/r/Amd/comments/uj8ljr/amd_power_slider_in_the_power_plan_options/

    Do you see that setting "AMD Power Slider" in your power plan settings in Windows (and in PSE)?
     
  3. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    If "ActiveOverlayAcPowerScheme" & "ActiveOverlayDcPowerScheme" & "ActivePowerScheme" are on the 3 standard power schemes, am I on the right track?

    Yes, but I don't know what guids do they correspond to, or how they could affect the standard power schemes.
     
  4. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    If you mean registry keys/values then "ActiveOverlay..." should point to active overlay (one of 3 standard overlays or maybe one of all registered overlays) on AC and on DC power. "ActivePowerScheme" should point to active power plan (one of plans present in system).


    PSE should show GUIDs.
     

  5. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    They are in those values, but I am worried if OEM and chip vendor are overriding them somewhere else in registry.

    I mean, I know AMD power slider's guid from PSE, but don't know what guids/schemes do the 4 overlays in AMD power slider point to.

    btw, I found where the power profiles are, but they don't seem to have ac/dc values to modify like power schemes, unlike what the doc says.
     
  6. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    @mbk1969
    Which path has higher priority in power settings?
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\User\PowerSchemes\[ActivePowerScheme_GUID]
    I notice that PSE will only apply values in the second path if applicable, if not, it will go to the first path.
    There are also some registry keys have prefix "prov" in ac/dc index, how about their priority?
    If I understand correctly, the problem going on is that PSE only applies values to the default overlay of current power plan, if changed to the other 2 overlays, the system will use provisioning values if exist or keep with the default overlay when without provisioning values.
     
    Last edited: Sep 13, 2022
  7. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    @Donduck

    PSE does not work with registry. PSE does work with Win API functions.
    Right now PSE does not change values for settings in overlays - only in power plans. I plan to add overlays...
     
  8. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    @mbk1969
    Is there any difference between set active balanced_GUID then setting the slider, and set active the three slider_GUID directly? It just seems to reset brightness to maximum and dc values to default because I am on ac.
     
  9. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    Power overlay should contains only a small subset of settings - to override the ones in balanced power plan.
    I will research overlay behavior.
    I changed PSE to add overlays to power schemes (plans) but behavior is not what I expected: I thought overlays will not show settings not presented in them but instead they show all settings (and allow to edit them). Further research is needed.

    Upd: Found something related to overlays - https://stackoverflow.com/questions...power-mode-programmatically/68318696#68318696
    [DllImportAttribute("powrprof.dll", EntryPoint = "PowerSetActiveOverlayScheme")]
    public static extern uint PowerSetActiveOverlayScheme(Guid OverlaySchemeGuid);

    [DllImportAttribute("powrprof.dll", EntryPoint = "PowerGetActualOverlayScheme")]
    public static extern uint PowerGetActualOverlayScheme(out Guid ActualOverlayGuid);

    [DllImportAttribute("powrprof.dll", EntryPoint = "PowerGetEffectiveOverlayScheme")]
    public static extern uint PowerGetEffectiveOverlayScheme(out Guid EffectiveOverlayGuid);

    PowerGetOverlaySchemes

    https://docs.microsoft.com/en-us/windows/win32/api/powrprof/nf-powrprof-powerreadacdefaultindex
     
    Last edited: Sep 14, 2022
  10. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    Do you mean the settings reported by powercfg /Q overlay_GUID? On my laptops it gives only the overriding settings, and overlays will use values in power plan if settings are not defined. Maybe PSE is just treating them as individual power plans.
     

  11. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    Yes. I was expecting API functions for getting information about power settings to fail with GUIDs of overlays for settings not overridden in overlays, but they return information for all power settings.
    Next step - I will try to enumerate settings in overlays, maybe it will give correct effect.

    PS
    Microsoft devs are jerks - why the hell they did not documented API for power overlays!
     
  12. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    I think that's already good enough. Just use overlays as traditional power plans, there's no need to know what settings in overlays are overriding the power plan as long as you can custom overlays individually, which PSE couldn't previously.
     
  13. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    @Donduck

    I managed to enumerate power overlays (and possibly power profiles). Next step - enumeration of settings relevant to overlays.
     
  14. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    Do you figure out how would Windows select which power profile to use?
    btw, why is "Better Battery/best power efficiency" in the slider/Settings replaced by "recommended" on both of my laptops running Windows 10&11 respectively?

    update: never mind, document says sometimes Better Battery/best power efficiency is labeled as recommended.

    update: settings for 961cc777-2547-4f9d-8174-7d86181b8a7a doesn't work on recommended (GUID all zeros). Seems that recommended (GUID all zeros) is just a blank overlay that uses all settings from balanced plan.
     
    Last edited: Sep 16, 2022
  15. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    @mbk1969
    Which strategy do you think would be more power efficient in daily light load like web browsing?
    a) use aggressive c-state thresholds and select really low frequency as often as possible
    b) use aggressive c-state thresholds and lock frequency at a slightly higher range
     

  16. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    I use small - 1ms - activity window (autonomous mode), small - 1ms - idle check time and 95% for idle demote and promote thresholds - hoping for quick bursts of high performance when needed (on demand).

    PS
    Do test. Use HWiNFO (for example) to see that CPU wakes from deepest C-state and climbs up to highest P-state when browser opens new page or scrolls the content.
     
    Last edited: Sep 17, 2022
  17. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    I am using 1μs of idle time check and activity window, modern processors could easily handle this frequent polling rate.
    And 0% for idle demote and promote thresholds so that only the deepest c-state is selected for extreme power saving.
     
  18. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    Did some test, don't see any significant difference, so I decide to set min processor state to 100% for fewer lags.
     
  19. Donduck

    Donduck Master Guru

    Messages:
    354
    Likes Received:
    23
    GPU:
    Radeon RX Vega 7
    I don't know why: Processor energy performance preference policy should be the same as speedshift EPP in throttlestop, but only throttlestop applies the value. There are many processors support autonomous mode but Microsoft choose to give the setting to only processors with CPPC v2.
     
  20. mbk1969

    mbk1969 Ancient Guru

    Messages:
    15,606
    Likes Received:
    13,615
    GPU:
    GF RTX 4070
    CPPCv2 is not in processor, it is in BIOS - implementation of ACPI.
     

Share This Page