Jump to content
NotebookTalk

[Guide] Improving Battery Life on Windows [+Enabling Deeper C States]


seanwee

Recommended Posts

Backup of post by Che0063 on forum.notebookreview.com

 

With manufacturers chasing for thin and light systems, we haven’t seen much innovation in battery capacity and soon will have laptops so thin they'll slit our fingers when we touch them. Manufacturers now think that if new hardware is more efficient then the need for a large battery has reduced. In some laptop line-ups, the battery capacity has actually reduced, such as the Aspire E15 series.

To get your battery’s capacity in Whrs, multiply the voltage by the amp-hour rating. Your cell count doesn’t matter. E.g. a 11.4v 5.2Ah battery = 59Whrs.

On idle and a 0% brightness setting with no programs in the background (just windows desktop), modern & optimised:

13" laptops with 5th gen Intel Y-series CPUs (or later) should idle at around 2W.

15” laptops with 4th gen Intel U/Y series CPUs (or later) should idle at or below 3W.

15” laptops with HQ/HK CPUs should aim for about 6-8W on idle. Far more if you don’t have Optimus.

Laptops with full-on desktop CPUs and dual 1080s will have a hard time hitting even 10-15W on idle, I imagine. Don't get them.

My 14" Thinkpad E14 Idles at 2.0-2.1W (specs in signature).

Check with BatteryInfoView

All my PCs have been laptops. This guide includes all my experiences with working with laptops and will take some time and may be quite advanced to some users. If you are not comfortable doing something, please research before doing it yourself. Some parts may be risky and (unlikely) cause software issues (Windows failing to boot, iTunes not recognising devices). I will not be responsible for any harm done to your computer. Your mileage may vary, but:

I raised my battery life on my Xiaomi from 7hrs to 10+ hrs. Also my Teclast from 5hrs to a comfortable 7-8hrs

In 20 minutes of fiddling around with the settings, I raised the battery life of my friends’ Aspire V Nitro from 2-3hrs to 6hrs. I could have increased it more but I didn’t have the time.


Premise:

Laptop battery life can mostly be split up into two parts: System baseline power usage, and power usage actually dedicated to doing tasks.

System baseline power refers to the power your laptop uses when it’s on and doing nothing. This is power used for CPU Idle, display backlight, HDD/SSD idle, and for devices such as RAM just to stay on. Regardless of what you are doing on your laptop, this power remains constant. Depending on your

Power usage for processing is mostly affected by your CPU and GPU. This is unavoidable and no amount of software optimization will change how much power a CPU or GPU uses to complete a task. However, it is more efficient for a CPU to quickly boost to its maximum performance state to finish a task quickly, then rapidly drop down to an idle state.

[IMG]
This is the system power consumption of my ThinkPad E14 during a PC-Mark 10 Benchmark. I do not have a dedicated GPU on my laptop, so the chart tells you two things: The majority of power is consumed during tasks. The spikes are my CPU boosting to around 4GHz to complete a task, and then dropping down quickly to a baseline idle power.



Research
Ensure that the display is bright enough. You should look for a display brightness of at least 250 nits. A 300nit screen operating at 50% screen brightness is significantly efficient than a 150nit screen operating at 100% brightness.

Ensure that the touchpad/keyboard is good enough. By 2021, all laptops should be using Microsoft Precision touchpad drivers. Avoid using external mice, as they keep the CPU PCH/IO controllers active, along with using extra power.

Ensure that the battery life capacity is well over 50Whrs for all-day battery life.

DO NOT purchase laptops with G-Sync, unless you can turn it off, otherwise the dedicated GPU must stay on. Don’t expect more than 4 hours with these laptops, even with 99Whr-batteries.

DO NOT purchase laptops where the discrete graphics are enabled and bypass the integrated graphics. Your battery will die.

Every MILLIWATT counts.

External mice keeps your internal USB I/O controller to be active as it waits for an input from the mouse. In 2021, all laptops should be using Microsoft Precision certified touchpads, which are extremely responsive and handle gestures flawlessly.

The keyboard backlight should be turned off, unless needed in the dark. They generally use between 0.5W-1W of power, which doesn’t sound like a much, but over the course of an entire discharge cycle, that costs over 1hr of battery life.
Avoid port-expansion hubs (E.g. Type C, USB hubs etc) if you can. Some are poorly designed and excessively keep the CPU’s IO controller awake. If the ports of that laptop weren’t enough for you, you shouldn’t have bought that laptop. USB to HDMI converters are an absolute no-no. USB was not designed to carry a video signal, and there will be significant CPU-overhead when used.

From basic, to advanced.

“Disable unnecessary background tasks, services, apps” blah blah blah No. Actually do it. Pressing X doesn’t help. On a few of my friends’ laptop they had all sorts of things in the background, including Skype, Discord, Steam, Intel HD Graphics Control Panel, Dolby Audio, Adobe Creative Cloud, Nvidia Control Panel, Realtek HD Audio Controller, and worst of all McAfee. All in the background. They were complaining about 2hrs of battery life. Manufacturers boast about 10+ hours of battery life, and then they ruin it themselves by preloading garbage on their devices.

Go to Task Manager (Right click taskbar)>Startup.

Disable all the things you don’t need. You should be able to disable most of the things here. The world will not end if Adobe Acrobat doesn’t get its update. Gaming launchers such as Steam and Epic Games Launchers are poorly optimized and chew through CPU cycles even when doing nothing.
[IMG]

All non-Microsoft services should be disabled, unless you specifically need it. Here is a good way to do so:
Win+R, then type in "msconfig" without quotes, then press enter:
Warning: DO NOT modify anything you are unsure of. This may render your computer unbootable.

Go to the Services tab, then click "Hide all Microsoft Services"
Essentially all programs can be disabled, unless you absolutely need it. If your life support depends on Adobe Acrobat downloading an update the instant it comes out, then enable it.
Note: This one-click 'solution' entirely disables the services. If you are worried that it may break some things, set it to 'manual' in services.msc

Some programs also put pesky startup scripts, which are not viewable in Windows’ Startup Folder. They are hidden in Task Scheduler. To view and disable some of these scripts:

Win+R > taskschd.msc > Task Scheduler Library (on the Left side)

Most of these check for updates on startup, and depending on your usage patterns they really bog down your startup times.
[IMG]

Use UWP programs, where possible.

Watching videos? Use the built in Films and TV app in Windows. This video player is far more energy efficient than other alternatives such as VLC. When watching a 720p video, Films and TV used 1.4-1.6W of power, whilst VLC used 2.5-3W (CPU-Package consumption)

Disable eye-candy (Skip if in a hurry)

Desktop Windows Manager (dwm.exe) renders things related to mouse movements, window movements, animations etc. Disabling effects like shadows will reduce the amount of rendering done by dwm.exe.

To do so, go to Control Panel > System and Security > System > Advanced System Settings > Performance Settings and uncheck things you don’t need. Things especially like shadows behind windows and shadows behind mouse pointer are so useless and I never even knew there were such shadows until I discovered this ‘Performance Options’ window.


This will result in the dwm.exe service (The process that draws windows) using less CPU
[IMG]

HIPM+DIPM+DevSleep (important)

Host-Initiated Power Management (HIPM), Device-Initiated Power Management (DIPM), and Device Sleep (DevSleep/DevSlp) are power saving features of almost all modern hard drives. DevSleep is only available on SSDs, and generally puts the SSD into a sleep function than uses >5mW. That being said, your motherboard needs to support DevSleep. By default, Windows only enables Host-Initiated Power Management. To change this:

Win+R > Regedit > HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\0012ee47-9041-4b5d-9b77-535fba8b1442\0b2d69d7-a2a1-449c-9680-f91c70521c60

There should be a Description that says ‘Configures the LPM state’, as well as an ‘Attributes’ DWORD with the value 1. Change the value of ‘Attributes’ to "2,” as per this image:


[IMG]

Now go to Control Panel > Hardware and Sound > Power Options > Change plan settings (of your active power plan) > Change advanced Power Settings > Hard disk > ACHI Link power Management and set it to Lowest. If that is not an option, change it to HIPM+DIPM.
[IMG]

Additionally, in the same subfolder, change the value of "Attributes" to "2" in these folders:
d3d55efd-c1ff-424e-9dc3-441be7833010
d639518a-e56d-4345-8af2-b9f32fb26109
dab60367-53fe-4fbc-825e-521d069d2456


And play around with these settings:

Try lowering these values (but not to 0ms) and you may see differences in your C7/C8 states. the ACHI Link Power Management especially may be beneficial. My laptop does not have a NVMe drive so changing the nVMe settings do not change anything.

As a side effect, on some systems, such as my older Aspire V Nitro and Mi Notebook Pro, enabling DevSleep and DIPM allowed the Package C State to enter C3, using 2.1W of power on idle. Previously it idled at C2, using 2.4W. Modern mobile CPUs should idle at less than 0.5W, however. (Tested on U, Y, and HQ CPUs) More about C states below.
EDIT: It seems that more people are benefiting from this than I thought. Give it a try and measure idle power consumption using
ThrottleStop.


Undervolt (EXTREMELY IMPORTANT)

You can reduce the voltage of your CPU, making it use less power. This increases battery runtime and reduces temperatures. There are plenty of guides and explanations out there so have a look if you aren’t familiar. There are no downsides apart from possibly unstable system if you are lazy or stupid.

I highly recommend ThrottleStop for Intel CPUs, an extremely lightweight but powerful program made my unclewebb and backed by an equally supportive community. Download here: http://forum.notebookreview.com/threads/the-throttlestop-guide.531329/

I do not have any experience with AMD’s APUs, so I cannot comment if there are similar undervolting software.

Extract the files anywhere but your Temp folders, and double click ThrottleStop.exe to start the program. For beginners, this program will be quite intimidating. Tip: Don’t click anything you don’t know about. Search the ThrottleStop thread and your question likely has been answered. In the unlikely event of you mucking up ThrottleStop, delete the ThrottleStop.ini and reboot to reset the settings.
For undervolting, all you are interested in is the FIVR button (Fully Integrated Voltage Regulator). Open that up, and you should see something like this.
[IMG]


Here, you can go undervolt your Intel CPU. Check ‘Unlock Adjustable Voltage’ and move the slider left to decrease the voltage. Here are the estimates for the average undervolt of your CPU. Results vary heavily depending on your luck.

7th gen U CPUs and earlier: -80mV

8/9th gen U CPUs: -100mV or more

[IMG] 10th gen U CPUs and later: -80mV

6th+ gen HQ/HK CPU: -120mV or more

Y CPUs: 50-80mV

Ensure the undervolt is the exact same for both your CPU Core and CPU Cache. One some systems if these values are different the undervolt won’t be applied. To check if the undervolt is stable, run a Prime95, LinX, IntelBurnTest, AIDA64 Stress Test or whatever benchmark and see if your laptop crashes. If it doesn’t, keep lowering the voltages until you hit the point where your system is unstable. Then, raise the voltage by a few millivolts to ensure you have a stable undervolt. Now here’s the fun part: Sometimes a voltage will be stable under a CPU stress test, but will crash when opening something simple such as Edge. If this happens, it means your undervolt is not yet stable so you have to raise the voltage.

On some systems, you can disable TurboBoost and get an even better undervolt. On my i5-8250U, I can only undervolt -140mV with TurboBoost enabled, but can undervolt to -200mV with TurboBoost disabled.

For best results, set ThrottleStop to start on startup. The guide is in the ThrottleStop thread.

Enable Speedshift

Speedshift is a technology available on 6th+ generation Intel CPUs. Basically it is a newer version of SpeedStep, allowing the CPU itself to control its frequency and power states instead of the OS. This reduces the time required for the CPU to raise its frequency and go back to its idle state, reducing power usage and decreasing latency. Intermittent tasks such as loading webpages can see benefits. On some systems, Speedshift is automatically enabled by the BIOS. But on many, they have to be manually enabled. To enable Speedshift:

Go to ThrottleStop, and check the Speed Shift -EPP box. The SST should light up in green. You can choose from a range of 0 to 255, where 0 maximises the CPU frequency at a cost of higher power consumption, but 255 reduced frequency to the point where your laptop may be unbearably slow. 128 is great for a balance, 80 is sufficient for games, and 180 is my value for battery savings. Your mileage may vary.
[IMG]




Check/Enable deeper C States [Intel] (VERY IMPORTANT)

Once again, this is an issue faced by Intel users. I don’t know if this is experienced by Ryzen mobile APU users. Generally speaking, if you have clean reinstalled Windows (without manufacturer image) you may have this issue.

This may be the most effective battery saving tweak in this entire guide if your laptop isn’t configured correctly. Once again, open ThrottleStop and look at the C0% column. Your C0% state in all cores should be less than 1% on idle, if you have been correctly following this guide.


If your C0% is below 1%, then check your package power consumption. Is it less than 0.5W? If it is, you may skip this section. If it is above 1W, and you are certain your C0% is below 1%, then you may have an issue many users face on NotebookReview Forums. Now click this button
[IMG][IMG]

It should say CX (C7, C8, C9, etc)

Check that 95% of your cores are in C7. It should be.

Now check your Package C State Percent. This is where the problem lies on a lot of notebooks with incorrect drivers

Over 80% of your package should be in either C6, C7, or C8 state (maybe perhaps even C10!). Is your package idling in C2 or C3? Then you likely have a problem.

[IMG]

I am still not completely sure about what exactly causes the issue, however it is thought that the cause is a generic or outdated disk-related driver. Try updating your disk controller. If you have a SATA based SSD, updating the ACHI controller may work.

Some users have reported success by uninstalling Intel Rapid Storage Technology (IRST) or installing IRST and disabling a performance related setting. Some users have reported success by enabling IRST SATA power savings.

For me, all I had to do was update the disk controller. Since I have a Samsung NVMe SSD, all I had to do was update the disk driver from a generic Microsoft one. SATA based SSD/HDDs usually benefit from an updated Intel ACHI controller.

My current tablet shipped with a generic Chinese SSD - it may have been a faulty one but it prevented the CPU from entering anything lower than C2 Package. The moment I upgraded the SSD, the system power draw dropped from 3.5W immediately to 2.5 watts. That is a huge improvement.

That being said, it may also be any other driver. Some members have reported that outdated Realtek Drivers for LAN/Ethernet or Wifi and the card reader was the issue. Try updating any driver from its generic Microsoft one.

Alternatively, you can install every driver provided by your manufacturer. They should provide the configuration that allows your CPU to enter a deeper idle C state.

Enabling DevSleep and DIPM appears to also work on some systems. On some systems, adding and removing devices (USBs, etc) change C state residency.

If all else fails, you could try downloading a driver updater utilityAS A LAST RESORT. Update drivers one by one to isolate the issue. Don't pay for a 'pro' version.

After a reboot, your package should idle at C6/C7/C8, depending on your manufacturer and CPU.

Essentially, this is a driver issue most of the time. If you, after many months, have not solved the issue, it may be down to a BIOS/EC/hardware fault. Search around if anybody else has the same issue, and if they do, GET IT RETURNED ASAP W/ FULL 100% REFUND. Don't put up with manufacturer garbage.

Some users will notice that, after connecting various devices (Thunderbolt/External Display, USB devices etc) your computer will get stuck in C3, instead of C8. If this issue still remains after you disconnect the device, see if a sleep cycle resolves this issue. This is likely a BIOS bug - something that manufacturers unfortunately can never be arsed to fix. Return the laptop, if possible. Don't put up with manufacturer crap.

ALL 4th Generation Intel Core CPUs and later should idle at less than 0.5W.
Thank you to @ONjA for the following tips:

"
- In case, your PC is stuck at C2, C3 and 'powercfg -energy' report says there are USB devices without selective suspend - you can force them to use it:
either by VID/PID or simply:
find 'SelectiveSuspendEnabled' under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID and HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\ subkeys, changing 0 to 1 (or 00 to 01) forces it on.
After you forced Selective suspend, check Device Manager and enable "Windows can power down this device" for USB devices.
I can even force it for my mouse and it forces mouse off after about of 2 secs of inactivity. [IMG]
I forced it on for problematic devices (touchpad in my case), and can achieve C6/C7 package state now with 0.3W package power. (I7-6700HQ)
"



Advanced Advanced Power Options (Meh)

There are many hidden power options in Windows. These require the Attributes value of each key in Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings to be set to 2. After running the script below, you should see a plethora of settings enabled in Advanced Power Options. You should be interested in the processor settings. Each device is unique – one some systems some settings don’t do anything. You should find your optimal value in each setting.
Download Script here.
https://gist.github.com/Nt-gm79sp/1f8ea2c2869b988e88b4fbc183731693

Intel Graphics (relatively important)
As terrible as intel integrated graphics are, they use a tiny amount of power.

Right Click Desktop > Intel Graphics Settings > Power
Edit: In the UWP version/after Windows 1809: Go to Start, then type in Intel Graphics.

And change all the settings to be Maximum Battery. Be sure to enable Display Power Saving Technology and Enhanced Power Saving Mode. Lord knows what that does, but it reduces power consumption of my laptop by 1W by (presumably) reducing LED brightness and reducing contrast. If you are a graphics designer then maybe don’t enable this.
Consider enabling panel self-refresh, etc.
[IMG]
Enabling Panel Self-Refresh can help, especially when displaying still images.


Fan
With high end laptops featuring multiple fans, they can use 1W of power even on their lowest speed. Try editing the fan profile of your laptop. This can take hours to find the correct settings, and most people give up. On some laptops it is very difficult. Very few manufacturers allow users to control their fans but recommended third party fan controllers include NoteBook FanControl. I’ve spent over one month reading hundreds of pages of datasheets and still haven’t figured out how to control my right fan.

Each laptop is different, and I suggest searching google for the resources or spend hours, days, or even months trying to find the appropriate registers to control your fan. Most laptops don’t need this, but I find that it is completely unnecessary to have a laptop fan running when the CPU is below 45C.

Physically disconnect devices you don’t need

Did you know you had a second hard drive? Both my friends didn’t. Another one knew, but it stayed empty.

If you aren’t regularly using your second hard drive, consider removing it and putting it into an external enclosure instead.

According to various datasheets, 5400RPM Hard Drives use 0.5-1W when spinning and idling, but most high end 7200RPM drives use upwards of 1W

Disabling the drive in Device Manager won’t work. The HDD might spun down, but the hard drive circuitry will still draw power, between 100-300mW of power. If you have programs on your HDD which you regularly access, having your HDD constantly spin up and down not only wastes power but puts unnecessary strain on your HDD motor. If you use a program frequently, consider moving it onto your SSD as they are more efficient. Once again, disabling a device in Device Manager disables all the device’s features, including any power saving features. It might still be kept on.

If you have a secondary solid state drives, you might be tempted to think that it does not drain much power. However, you must ensure that DevSleep is supported BOTH by your SATA interface, AND by your SSD. It must also be enabled as well. Use HW-Info64 to check. Alternatively, use BatteryInfoView to measure your system idle power consumption, both with and without the SSD. The difference should be negligible, because SSDs use <50mV in DevSleep mode.

Increase the longevity of your laptop battery.

Every time you recharge your battery, you lose a tiny bit of battery capacity. This is an unavoidable effect of using any battery, and most laptop batteries are rated for 300-500 cycles before their full charge capacity drops below 80% of their design capacity. For example, after 500 cycles, a 100Whr battery will only be able to hold 80Whrs. The battery used in your laptop is based on the Lithium-ion chemistry. Tips for extending battery longevity:

Do not keep it plugged in 100% all the time. Lithium Ion batteries in laptops are generally charged to 4.2 or even 4.4v per cell to maximise battery runtime. Unfortunately, prolonged exposure to voltages above 4v (about 80%) per cell results in permanent capacity loss.

Don’t store your laptop in warm conditions. 20C is ideal, but during operation the inner case temperature of a laptop can reach 35C. This is unavoidable, short of moving to Antarctica or using your laptop in a fridge, but high voltages and high temperatures are the absolute killers of lithium ion batteries. Don’t store your laptop in a car on a hot summer day.

Similarly, don’t constantly drain your laptop down to 0% if you can avoid it. Full discharge cycles put strain on the laptop battery. Laptop batteries do not require full cycling. This is actually very damaging to Li-ion batteries. It is better to have very small charge cycles. Aim to keep your battery capacity between 20% and 80%.

Physically disconnect your battery if you can. Unfortunately, on increasingly more modern laptops with embedded batteries this is no longer possible, in which case you are out of luck.


When not using the laptop, aim to store the battery in a cool environment in a 40% state of charge. This keeps each li-ion cell to a nice 3.7-3.8v.

As far as I'm aware, Lenovo and Microsoft are the only mainstream laptop manufacturers to offer a "charge limit" - in Lenovo, this can be changed in the Lenovo Vantage software.

TLDR: Keep battery capacity between 20% and 80%. Keep battery cool. Store in a cool place at 40% when not used. Don’t use it if you don’t have to.

Antiviruses
Depending on your usage of computers, antiviruses may be more of a burden than a help. If you do not need an Antivirus software, don't use one. You do not need a software to be monitoring your every activity and every file you download.

Do not: (VERY IMPORTANT, PLEASE READ)

Do not disable your dedicated graphics card. When you disable the graphics card, you disable every feature… including Nvidia Optimus or AMD Switchable Graphics. Instead of being completely off and using (theoretically 0W), your GPU will be constantly on but idling and unable to do anything. This consumes an extra 3+ Watts depending on what dGPU you have, which is huge. Some laptops disable Optimus completely, which results in drastically reduced battery life. Don't get those laptops.

Do not lock your CPU down to 400MHz, or whatever the lowest operating frequency point of your CPU is. This makes your laptop slow and inefficient.


Using powercfg
By entering "powercfg -energy" in an elevated (administrator) command prompt, you get a nice report outputted as C:/Windows/system32/energy-report.html
[IMG]

This highlights major energy problems that Windows can find. Try solving these issues. Devices can be identified here by entering the device Vendor and device ID.

Miscellaneous

For users with a dGPU, ensure that any monitoring software (e.g. HWInfo, AIDA, OpenHardwareMonitor, esp. MSI Afterburner) is not waking up your dGPU to poll the sensors. At an idle desktop, your dGPU should read 0.0C temperature. MSI Afterburner, for example, is known to keep the dGPU "awake" and not enter "Optimus", causing drastic battery life losses. MSI Afterburner developers know this and have expressed no intention for solving this issue, stating that MSI AB was never intended to support laptops.


Please post your experiences after following this guide including which worked and which didn't, as well as which settings were optimal for your device. I only have 1 primary device to test everything on and it'll be nice to compile a list of the best settings for each tweak for the community.

I hope this guide has been helpful. Good luck!


Edit: Please DO NOT ask for help without providing screenshots, or at least a list of what you have/haven't tried. It is impossible and unreasonable for anybody on the forum here to be able to help somebody who says "My C state P

 

  • Thumb Up 1
  • Thanks 1
  • Like 2
ASUS Strix Scar 17
Ryzen 9 7945HX
CB R23: 36743
32GB x2 DDR5 6000 CL34 Hynix A-die
RTX 4090 Laptop (Shunt modded)
Firestrike graphics: 58 334 || Timespy graphics: 27049 ||
Port Royal: 17013
Link to comment
Share on other sites

  • 7 months later...

Hi, I actually was looking for the link or the data as well to "[Guide] Improving Battery Life on Windows [+Enabling Deeper C States]" on NBR.

 

I found it was saved to a PDF file by a german website schener-tech.de, here's the link 

 

Hope this helps 😁

  • Thumb Up 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Terms of Use