Not all users seem to be happy with battery life or noise emissions of their Framework Laptop. They both can be caused by a too busy CPU. That in turn may be the result of resource hungry background processes or not optimally configured power settings inside windows.
This guide establishes how a good configured system should perform. It further shows where in windows to look if the system fails to do so and what additional programs can be of good help. It provides links to useful documentation. At a last resort were gonna look at some power settings hidden inside the registry.
What idle power draw one can expect
My Framework is configured with an i5-1135G7, 2x8GB 3200 MT/s RAM, SN850 1 TB SSD.
During everyday tasks like browsing the web, checking E-Mails, working on spreadsheets or documents it stays mostly quiet.
This is possible because of the low temperatures of the CPU, which are a result of the low average power consumption.
The described activities will result in short frequency/power/temperature spikes of the CPU. In the between time there is not much to do for the CPU.
The Intel CPUs used inside the Framework Laptop (11th Gen Tiger Lake) are quite capable in disabling all the parts that are currently not needed in order to save power. That is if they are allowed to by no utilization and the correct windows settings.
To inspect the system in general, and the CPU in particular one can use hardware monitoring software like HWinfo64.
Monitoring your system with HWinfo64
HWinfo64 is a monitoring software that reads out detailed live data from your whole system: RAM, CPU, Storage, Network, Battery, … . For analysis data can be logged into a file.
For an optimally configured Laptop with idle utilization of the CPU below 1 % I have seen the following values possible:
CPU | AC idle | DC idle |
---|---|---|
i5-1135G7 (Framework) | 0,8 W to 2,0 W | 0,5 W to 1 W |
i7-1165G7 (Acer Spin 5 Pro) | 0,4 W |
Adding an external monitor increases the CPU power draw by something around 1 W.
If youre Laptop exceeds these values lets take a look at what can be done, starting with software.
Disabling automatically run software
Before investing time tweaking the hardware make sure you don’t have any unwanted background processes running.
Disable all auto start programs that you don’t need inside task manager.
Also you should check whether there are third party services listed in msconfig that you want disable. Make sure to hide all Microsoft Services, they are needed by the OS.
I for example disabled Google Chrome update service, because I use it only as backup to the Firefox browser. To disable a service, untick the box.
In windows there are several background processes regarding analytics of how you are using the system. They consume CPU time and increase the load. While the system should perform good with them left at default, they can be easily disabled by the program O&O shut up 10. With one click you can enable all recommended settings. The program will even ask you to create a restore point in windows.
Making use of hardware accelerators
If you watch any video it has to be decoded first. That involves a lot of computation. The Tiger Lake processors used inside the Framework Laptop have hardware accelerators for that. These are fixed function parts of the chip that are designed solely for decoding. They are lot more power efficient than doing the computation inside the CPU cores and should be used.
Make sure hardware acceleration is turned on inside your browser.
Tiger Lake supports modern video codecs like AV1, VP9, h.264 and h.265 used by YouTube, Netflix and similar services.
GPU: Intel graphics control room
With your intel graphics driver there comes a program called intel graphics control room that provides some settings regarding energy.
Make sure to enable panel self refresh. In my case it reduced idle power draw by around 0,5 W.
Tweaking hardware behavior
CPU: ThrottleStop
ThrottleStop is a light weight program that gives access to low level CPU controls.
For example, it allows the user to set custom power or frequency limits.
If one wants to limit the amount of heat a CPU produces, one can limit its power. This is how a typical Cool & Quiet mode on your Lenovo or HP laptop works.
The benefit is, that the CPU can decide whether to spend that power budget on a single core or across multiple cores, depending on the workload. Keeping the Laptop responsive, while limiting the amount of heat that has to be cooled.
For example I can specify a PL1 of 10 W. That results in my CPU temperatures topping out at 51 °C during a CineBench benchmark run, keeping the fan noise very limited.
ThrottleStop allows you to define both a long term power limit (‘TDP’ or PL1) and short term power limit (PL2). The latter is active only initially and is replaced after some seconds by PL1 which is active indefinitly.
Last resort: review hidden power settings
If your idle power draw is still high after going through the previous steps it may be beneficial to review your windows power settings. Also its interesting if one wants to get an overview what power saving features exist in windows and in hardware in general.
Windows has a lot of power settings. Many of them are hidden in the registry, but can be exposed inside the power management GUI.
Creating backups
Before changing anything its recommended to create a back up. Were gonna create two separate backup files. The first backup file allows to roll back all changes made to the power settings/profile. The second backup file reverts changes inside the registry affecting which settings are visible in the GUI.
Backup for restoring power settings
In windows, power settings are grouped into so called power schemes. To create a backup were going to export the power scheme into a file, that can be imported at any time, restoring all previous power settings.
To do that one can use the command powercfg inside power shell.
Power schemes are identified by a GUID. Start power shell with administrator rights and list all power schemes using the following command:
powercfg -l
In order to export one power scheme we need to specify the export directory and file name as well as the GUID.
I´m going to export the power scheme to C:\ directory, naming it framework.pow and copy-pasting the relevant GUID
powercfg -export C:\framework.pow YOUR-GUID
Importing the power scheme works by providing the fully qualified path and filename:
powercfg -import C:\framework.pow
Power Shell responds by providing the new GUID.
Backup for restoring registry settings
Open regedit, the registry editor, navigate to the power settings and create backup by exporting them into a file:
Power settings path:
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings
The settings can later be merged back:
How power settings are stored inside the registry
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings
Inside the registry power settings are grouped by subsystem into folders. The folders are named by some hexadecimal code. Inside them there should be a description and a friendly name to identify the subsystem.
25 folders
Folder Name inside PowerSettings | Settings for |
---|---|
0012ee47-9041-4b5d-9b77-535fba8b1442 | Harddisk |
19cbb8fa-5279-450e-9fac-8a3d5fedd0c1 | WLAN |
2a737441-1930-4402-8d77-b2bebba308a3 | USB |
501a4d13-42af-4429-9fd1-a8218c268e20 | PCIe |
54533251-82be-4824-96c1-47b60b740d00 | Processer |
By clicking on the folder one can reveal settings regarding the subsystem. Like the subsystem, each setting has its own folder, named by some hexadecimal string but also containing a human readable description.
How power settings can be exposed to the user
In windows power settings can be accessed through a GUI:
Whether the individual settings is exposed to the user inside the power management GUI depends on the value of the REG_DWORD ‘Attributes’ of that setting.
Only if that value equals ‘2’ the setting is available inside the GUI. The value can be edited with a simple double click.
If there for some reason is no REG_DWORD with name ‘Attributes’ one can easily create it with a right click.
Next I will highlight some impactful power settings.
Overview of some impactful power settings
Inside the registry are over 100 individual power settings. I will highlight a few that I found to have great impact and the values i’ve set them to.
Harddisk/SSD
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\0b2d69d7-a2a1-449c-9680-f91c70521c60
Lowest
WLAN
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\19cbb8fa-5279-450e-9fac-8a3d5fedd0c1\12bbebe6-58d6-4636-95bb-3217ef867c1a
Medium Power save
Power scheme personality
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\245d8541-3943-4422-b025-13a784f679b7
balanced or energy saver
USB power management policy
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\2a737441-1930-4402-8d77-b2bebba308a3\d4e98f31-5ffe-4ce1-be31-1b38b384c009
maximum power savings
PCIe
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\501a4d13-42af-4429-9fd1-a8218c268e20\ee12f906-d277-404b-b6da-e5fa1a576df5
maximum power savings
CPU
Microsofts provides an overview and description of all CPU related settings here
Minimum of unparked (active) cores
Windows has the ability to shut off individual cores - which is called core parking. A parked core consumes no power but cant compute anything. For a parked core both threads are shut down.
To specify that no core parking is allowed enter 100 %. That doesn’t prevent the CPU from entering low power C-states.
To keep at minimum three cores active, enter 75 %, for two 50 %, for one 25 %.
Whether cores are currently parked can be seen for example in the task manager or in the ressource monitor.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\71021b41-c749-4d21-be74-a00f335d582b
Minimum percentage of processor performance
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\893dee8e-2bef-41e0-89c6-b55d0929964c
Setting preference for passive/active cooling
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\94D3A615-A899-4AC5-AE2B-E4D8F634367F
Maximum percentage of processor performance
This setting limits the clock speed of the CPU cores relative to their base clock. This does limit power consumption. How ever it also limits single thread performance/responsiveness of the system. After all the base frequency of 2.4 GHz (i5-1135G7) and 2.8 GHz (i7-1165G7) is quite low compared to their boost frequency of 4.2 GHz and 4.7 GHz respectively. To limit the power draw of the CPU its better to set it directly, e.g. with ThrottleStop, and let the CPU decide what frequency it wants.
So thats more a “for science” setting.
If I want to limit the i5-1135G7 to a max frequency of 1.5 GHz I enter 1.5/2.4 = 0,625 → 63 %.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\bc5038f7-23e0-4960-96da-33abaf5935ec
Maximium of unparked (active) cores
If you want for some reason, that Windows uses only half of your cores, you may specify 50 %, and 4 threads will be permanently parked (unused).
To allow windows to use all threads enter 100 %.
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00\c7be0679-2817-4d69-9d02-519a537ed0c6
GPU energy performance preference
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\5FB4938D-1EE8-4b0f-9A3C-5036B0AB995C\DD848B2A-8A5D-4451-9AE2-39CD41658F6C
Of course feel free and try how changing other settings affects power consumption/battery life of your Laptop. There are some settings that use Windows specifics names, others use general technical terms like AHCI in the context of SSDs or core parking in the context of the CPU.
One good resource should be the official Microsoft Windows Power Settings Documentation
For technical information about the CPU consult Intels datasheet for Tiger Lake Processors.
Final words
If you are still having issues achieving low idle power draw, feel free to comment below.
If there are any great settings I´m missing, feel free to tell us about them.