I reseted the bios and it fixed the clocks, I will see if it fix the issue. Asrock has some mixed settings that can screw the Intel boosting if you even choose one settings to Enabled or Disabled and change it back it change other settings that I have no idea what they could be
Firstly, thanks to @mbk1969 for creating this very nifty program. Does anyone know if the program accepts any command line parameters to run saved profiles (exported .xml files, etc.)? I'd like to create shortcuts for different profiles to quickly apply certain changes within the same Windows power plan. There are some settings that I toggle between quite often and I'd rather not keep changing Windows power plans in case they affect other things tied to them. I guess I might be able to do it with a powercfg script or something too though.
@howiec No command line parameters. But I am thinking to add a feature of creating bat-file with currently changed settings.
@howiec http://www.mediafire.com/file/wt37sbsejk7iepm/PowerSettingsExplorer.zip MD5 hash for zip-file: B2156B11EF808C42C38B24B547693B15 New button (in the lower left corner, next to "Apply") "Save changed settings as script...". It is enabled only when there are changed settings. When clicked app asks for a bat-file name and location and then saves changed settings to that file as a series of powercfg commands. Example of bat-file for two changed settings: Code: rem "none"\"Networking connectivity in Standby" @ "Balanced" = (AC: Managed by Windows) powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e fea3413e-7e05-4911-9a71-700331f1c294 f15576e8-98b7-4186-b944-eafa664402d9 2 rem "none"\"Networking connectivity in Standby" @ "High performance" = (AC: Enable) powercfg /setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c fea3413e-7e05-4911-9a71-700331f1c294 f15576e8-98b7-4186-b944-eafa664402d9 1 rem "none"\"Networking connectivity in Standby" @ "Power saver" = (AC: Enable) powercfg /setacvalueindex a1841308-3541-4fab-bc81-f71556f20b4a fea3413e-7e05-4911-9a71-700331f1c294 f15576e8-98b7-4186-b944-eafa664402d9 1 rem "Hard disk"\"AHCI Link Power Management - HIPM/DIPM" @ "Balanced" = (AC: Lowest) powercfg /setacvalueindex 381b4222-f694-41f0-9685-ff5bb260df2e 0012ee47-9041-4b5d-9b77-535fba8b1442 0b2d69d7-a2a1-449c-9680-f91c70521c60 4 rem "Hard disk"\"AHCI Link Power Management - HIPM/DIPM" @ "High performance" = (AC: Active) powercfg /setacvalueindex 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c 0012ee47-9041-4b5d-9b77-535fba8b1442 0b2d69d7-a2a1-449c-9680-f91c70521c60 0 rem "Hard disk"\"AHCI Link Power Management - HIPM/DIPM" @ "Power saver" = (AC: Lowest) powercfg /setacvalueindex a1841308-3541-4fab-bc81-f71556f20b4a 0012ee47-9041-4b5d-9b77-535fba8b1442 0b2d69d7-a2a1-449c-9680-f91c70521c60 4 On laptops bat-file should contain commands for DC values too.
http://www.mediafire.com/file/wt37sbsejk7iepm/PowerSettingsExplorer.zip MD5 hash for zip-file: 3537CE1FAC9273604BC2573F65F923EE Edited settings now shown with bold font.
@X7007 Are you sure you downloaded the zip-file with MD5 hash 3537CE1FAC9273604BC2573F65F923EE? Are you sure you clicked back to main (settings) grid after changing some value in lower one? Button "Apply" is enabled? Spoiler
Is change this value helpful prevents audio device popping? 73cde64d-d720-4bb2-a860-c755afe77ef2 Thanks.
I doubt. I have no clear understanding of this setting meaning - does it mean to route interrupts to CPU cores with load less than this setting or with load more than this setting? Also I am sure that this setting is relevant only with specific values of first setting in this subgroup - 2bfc24f9-5ea2-4801-8213-3dbae01aa39d. Audio popping can be investigated with this - https://forums.guru3d.com/threads/simple-way-to-trace-dpcs-and-isrs.423884/ Also you have to be sure audio controller does not share its IRQ with another devices. Go to Device manager, switch view to "Resources by type", expand root node "Interrupt request (IRQ)" and check IRQ numbers.
Thanks. I found the new ASUS audio driver causes problems, so I uninstall it, and use old driver for replacement. And WIFI driver (Qualcomm Atheros QCA61x4A Wireless network adapter) also causes high DPC Latency problem. I use the new WIFI driver in Windows Update to test results, the DPC Latency problem almost solved.
I think this software is amazing! I've been trying so hard to copy your exact power plan piecing it together from comments you made. The only part I don't understand is the P-States. Code: ::Disable SpeedShift powercfg -setacvalueindex scheme_current sub_processor PERFAUTONOMOUS 0 ::Disable P-States powercfg -setacvalueindex scheme_current sub_processor PROCTHROTTLEMIN 100 powercfg -setacvalueindex scheme_current sub_processor PERFINCTHRESHOLD 0 powercfg -setacvalueindex scheme_current sub_processor PERFDECTHRESHOLD 0 ::Use C0 under load and revert to C3 when idle powercfg -setacvalueindex scheme_current sub_processor IDLEPROMOTE 98 powercfg -setacvalueindex scheme_current sub_processor IDLEDEMOTE 98 ::Set Turbo Boost to Aggressive At Guaranteed powercfg -setacvalueindex scheme_current sub_processor PERFBOOSTMODE 5 powercfg -setacvalueindex scheme_current sub_processor PERFBOOSTPOL 100 ::Disable Core Parking powercfg -setacvalueindex scheme_current sub_processor CPMINCORES 100 This is what I've gotten so far but I wouldn't like P-States to always be at their highest what would you set it to for a balance of performance?
As I take it CPU either uses Autonomous mode - new hardware P-states, or legacy P-states. Legacy P-states settings: Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 % Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 % - I set these two to the same value; I just monitor the frequencies (and load %) in Performance Monitor while starting usual apps - I want a bursts of frequencies when the load is increased over the these two thresholds and the lowest P-state when usage is lower than these thresholds. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 - I set these two to "Ideal". These two settings can be used to create kinda hysteresis behaviour - to resist to increase or decrease of P-state. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 - I set this to 10 ms. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 - these 3 settings I do not touch. Last two can be used to create kinda hysteresis behaviour - to resist to increase or decrease of P-state. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 % - this I set to 100% - no point in restricting cores to boost for the balanced performance mode, IMO. New P-states settings: Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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. - my current home rig is always in autonomous mode. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 % - I set this to 0% - no point in restricting cores to boost for the balanced performance mode, IMO. Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 - this I set to 1ms. A setting relevant to both legacy and new P-states (turbo mode): Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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. - this I set to "Enabled" - no point in aggressive boost for the balanced performance mode.
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 - this I set to 1ms. So the actual value you entered is 1000 microseconds?
Yes. Also recently I noticed that this C-state setting Code: Subgroup Processor power management (54533251-82be-4824-96c1-47b60b740d00) 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 changed its units from milliseconds to microseconds. Whether it is Windows kernel related change or hardware C-states capability related change I don`t know.
Processor autonomous activity window setting value of 1ms is like a 30x reduction, do you notice any difference, I am unclear what this setting really does.
It is kinda polling rate - measure and calculate new P-state each 1ms (in my case). For hardware P-states it is done by CPU itself, so if I want more "dynamic" response to the usage change I lower that value. For legacy P-states it is done by OS kernel code, so I want it between 5-10 ms (to request CPU with P-state changes reasonably frequent).
Ok, that is what I thought, I am on Win10 with Alder-lake 12600k so pretty sure on HW P state with autonomous enabled. I wonder why MS didn't optimize each power plan with a value, they have all of them the same. You'd think at least power saver would get a slower value.