Get the most battery life and lower idle temperatures on your nVidia-based laptop
DISCLAIMER: While this procedure is relatively safe because it uses existing/built-in features of the hardware, there is still a risk associated with it. Therefore, I am not liable for any damages caused by this guide. DO IT AT YOUR OWN RISK AND BE CAREFUL!
This guide is based on my G51VX-X3A, but it technically can be used for any other laptop with PowerMizer capable nVidia video card, even for other manufacturers. The part about CPU frequency limiting needs Asus Power4Gear Hybrid utility and thus not applicable to other manufacturers.
I have already posted my my findings about PowerMizer in another thread, but the thread name is misleading and information is spread all over the thread. Therefore, I decided to put it all together in a one neat guide with appropriate thread name.
Another important detail: this guide is written not only for advanced users, but for completely new users as well. This is why this guide might contain some details that may seem obvious to some advanced users. I simply had a lot of people asking how to enable the PowerMizer and some even simpler questions, so I decided to include some very easy procedures keeping new users in mind.
Utilities needed for this guide:
1) PowerMizer Manager : PowerMizer Manager | Some More Bytes (last version as of this writing is 0.95)
2) Power4Gear Hybrid for compatible laptops:
This link is for Power4Gear Hybrid for windows 7 64-bit ASUSTeK Computer Inc.-Support-
Choose your appropriate OS from the drop box at the top of the page when downloading Power4Gear Hybrid.
Also, I have noticed that the best latest version of Power4Gear Hybrid is V1.1.35. Versions 1.1.36 and 1.1.37 have bugs with remembering brightness levels, so I would suggest using version 1.1.35.
3) GPU-Z utility to observe the GPU clocks: GPU-Z Video card GPU Information Utility (last version was 0.4.3)
4) CPU-Z utility to observe the CPU clocks: CPUID - System & hardware benchmark, monitoring, reporting (the last version was 1.5.4)
There are 2 types of this utility: one is installable, and the other is just executable file. Get just the executable file. Also, there is 32-bit and 64-bit versions. Get the one appropriate to your Operating System.
5) FurMark benchmark utility: FurMark: Graphics Card Stability and Stress Test, OpenGL Benchmark and GPU Temperature | oZone3D.Net (last version was 1.8.2)
We need this utility to load GPU and see how GPU clocks behave after our tweaks.
6) DriverSweeper utility in case something goes wrong (needed for the Bailing Out section only): Guru3D - Driver Sweeper
Download the one with no installer, i.e. just the executable.
The idea behind extending battery life and lowering temperatures.
Asus G-series laptops are very powerful and are pretty much desktop replacement computers. With video card and processor set to their max the battery life will obviously be very short. Therefore, it makes no sense to play games or use CPU intensive tasks while on battery.
When I use this laptop on battery I mostly just intend browsing the web, typing documents, or viewing PDF files and pictures. This means that the lowest possible performance obtainable from CPU and GPU is enough for this tasks, but longer battery life (up to 2 hours 45 minutes according to my tests) is a great benefit while on the go.
For lowering the GPU performance, while on battery, we will use nVidia PowerMizer: a built in technology that lowers GPU, vRAM, and Shaders frequencies of a nVidia video cards based on GPU load. We will, however, tweak PowerMizer to achieve even longer battery life then is obtainable with PowerMizer default settings.
For lowering the CPU performance, while on battery, we will use Asus Power4Gear Hybrid utility and lock the multiplier of the CPU to its lowest value. For other manufacturers there are other utilities, such as SetFSB, with help of which you can achieve the same results, but that is beyond the scope of this guide.
Part 1: GPU behavior tweaks.
Enabling PowerMizer
I have noticed that in Windows 7 PowerMizer is disabled and the video card always runs at its maximum frequencies. This results in higher heat even while system is idle and shorter battery life. To enable the PowerMizer on your nVidia card we will use PowerMizer Manager utility as following:
1) Launch PowerMizer Manager. Upon the first launch you will see a message telling you that registry entries for PowerMizer not found. Just click the OK button.
2) Next, set the values in the utility as following:
i. Check Enable PowerMizer Feature
ii. In the PowerMizer On Battery section check Fixed Performance Level and choose Min. Perf /Max. PowerSave from the drop down box
ii. In the PowerMizer on AC adapter section check Auto Throttle. Adaptive clock speed.
![]()
3) Click Apply & Reboot button. NOTE: I personally avoided doing the instant apply because of the warning displayed after clicking Instant Apply! button.
4) The next dialog will tell you that values will be written to registry. Click Yes
5) The next dialog will propose you to reboot. I suggest to agree and reboot your system just to see that PowerMizer can work normally on your system.
//=============================================================
NOTE: If your system fails to start after the reboot see the last Bailing Out section
of this guide.
//=============================================================
The tweaks
Now we are ready to tweak the PowerMizer even further.
WARNING: I have tried numerous nVidia drivers and found that with driver version 197.16 the following tweak WILL NOT WORK. Your system will reboot and blue screen with driver 197.16. On June 15 2010 nVidia released driver version 257.21, so get this last version or use any previous version of the driver except 197.16.
Even though we selected Min. Performance while on battery with PowerMizer Manager, the desired behavior will not happen. This is why we need to edit the registry as following:
1) Go to Start->Run or press WinButton+R.
2) In the run dialog type regedit and hit Enter.
3) In registry navigate to HKLM\SYSTEM\CurrentControlSet\Control\Video\***\0000
There are few branches in the ...\Video\ branch named with some random characters. It is different on different systems and this is why I have *** in the above path. Keep expanding those randomly named branches and clicking on 0000 folder/key. You will know that you found the right branch after you will see many (>50) values in 0000 folder/key on the right side of RegEdit.
![]()
3. Also, as highlighted in the screenshot above, you will find 4 important PowerMizer registry keys:
PerfLevelSrc defines the behavior of GPU throttling on battery and on AC. It can take the following values in HEX (!):
2222 pre-set frequency on battery and on AC
2233 pre-set frequency on battery and adaptive (throttling) on AC
3322 adaptive (throttling) frequency on battery and pre-set on AC
3333 adaptive (throttling) frequencies on battery and AC
PowerMizerEnable Enables or disables PowerMizer. Can be set to 1 (enable) or 0 (disable) in HEX (!)
PowerMizerLevel Defines the performance level on battery. Can be set to any value in HEX (!) from 0 to 3 (3 being the lowest performance level)
PowerMizerLevelAC - Defines the performance level on AC. Can be set to any value in HEX (!) from 0 to 3 (3 being the lowest performance level)
4. To achieve the longest battery life and cool performance while on AC I set GPU to be locked to lowest possible performance while on battery and automatically throttling GPU frequency on AC. For this behavior we need to set these 4 registry values as following:
PerfLevelSrc - 2233 in hex, adaptive freq. on AC and preset freq. on batt.
PowerMizerEnable - 1 in hex
PowerMizerLevel - 3 in hex, lowest power on battery
PowerMizerLevelAC - 1 in hex, throttle from lowest to highest freqency on AC
4. Reboot
//=============================================================
NOTE: If you used nVidia driver 197.16 and your system rebooted and BSODed or
crashed for some other reason see the last Bailing Out section.
//=============================================================
You can also tweak it for your own preference. For example, you might want to keep GPU in highest performance while on AC and lowest performance while on battery. In such case you would set the registry entries as following:
PerfLevelSrc - 2222 in hex, preset freq. on battery and AC.
PowerMizerEnable - 1 in hex
PowerMizerLevel - 3 in hex, lowest power on battery
PowerMizerLevelAC - 1 in hex, highest freqency on AC
This, of course, will result in higher temperature on AC while system is idle, but go ahead, tweak it as you like.
Testing results of our Tweaks
Now we are ready to test our GPU tweaks. I would suggest doing it as following:
1. Keep your laptop on AC adapter.
2. Install and launch the FurMark utility.
3. Launch the GPU-Z utility and click on the second tab called Sensors. You should see your GPU clocks and temperature in this tab.
Suggestion: arrange FurMark and GPU-Z windows on your screen, so you can see both at the same time. Bottom right of the screen for the GPU-Z should work just fine.
4. In GPU-Z at the bottom of the Sensors tab put check mark on Continue refreshing this screen while GPU-Z is in the background
5. Wait for some time to see that your GPU clock will throttle down. The throttling to the next lower level occurs approximately every 15 seconds or so.
![]()
6. In the FurMark utility you don't have to change anything. Just click on theGo! button. Immediately you should notice that GPU frequencies will jump to their max. If you can't see GPU-Z, just hit ESC while in Furmark test to cancel it and look at GPU-Z sensors history (red graph). GPU-Z history will tell you the previous frequencies/temperatures in the history. You can move your mouse to any position on the red bars/history to see what frequency/temperature was at that time.
After some waiting time GPU frequencies should go down again.
7. Now unplug the AC power adapter. You should see that GPU frequencies are at their possible lowest levels.
8. Click on the Go! button in the FurMark utility. You should still see GPU frequencies at their minimum values even with GPU being under load while on battery.
If your system behaves the same way as described above, congratulations! You will enjoy longer battery life now.
Part 2: CPU behavior tweaks.
Asus Power4Gear Hybrid allows selecting 4 different power profiles. Each profile has separate settings while on battery and while on AC. I personally dedicated a single profile (P4G BatterySaving) to have lowest CPU frequency while on battery. To achieve this goal just do the following:
1. Launch Power4Gear Hybrid utility.
2. Click on one of the profiles
3. Put check mark on On Battery to modify settings while running on battery.
4. Move slider Maximum Processor State to 50%
![]()
Now, while on battery, you can simply switch to your modified profile to always have lowest CPU frequency and thus prolonging battery. You can also modify all power profiles to have max CPU state at 50%.
If you don't have/don't want Power4Gear Hybrid on you laptop, then you can also modify the Windows power profile directly as following (for Windows 7):
1. Go to Control Panel-> Power Options or right-click on battery icon in the system tray and choose Power Options
2. Click on Change plan settings to the right of the profile of your choice.
3. In the next windows click on Change advanced power settings
4. In the next popup windows go to Processor power management->Maximum processor state->On battery and enter 50%.
![]()
5. Click Ok button.
Now just don't forget to your modified profile while on battery, or simply modify all profiles to have Maximum Processor State 50% while on battery.
Testing CPU tweaks.
This is pretty simple:
1. Launch CPU-Z. You should look at Core Speed field to observe your CPU frequency.
2. Unplug AC adapter and switch to the modified power profile.
3. Launch some CPU intensive task. You should see that CPU speed is always at the same, lowest possible value.
Finally, you can do a long test by using your laptop on batteries just to test how much battery runtime you have gained with these tweaks and post your achieved results in this thread along with idle temperatures while on AC.
BAILING OUT (a.k.a my system is now screwed and won't boot):
If you have managed not to notice the warning about 197.16 nVidia driver or for some other reason your system will not boot after modifying the PowerMizer registry settings, then there is a way to get out of troubles without re-installing the whole system.
There are 2 possibilities here:
1. If you did the tweaks with driver 197.16, then you can boot on batteries only and change the registry settings for PowerMizer. Booting into safe mode will not help, because PowerMizer registry setings are not available while in Safe Mode. Basically with driver 197.16 the system will BlueScreen when PowerMizerLevelAC is set to 1 in hex. Booting while on battery will apply a value in PowerMizerLevel instead of the one in PowerMizerLevelAC.
2. If your system fails to boot for some other reason after settings PowerMizer registry values, then you can boot into the Safe Mode by hitting F8 before Windows starts booting. You won't be able to uninstall video drivers the usual way in Safe Mode. Therefore, while in the Safe Mode use the DriverSweeper utility as following:
1) Launch the DriverSweeper.
2) On the right side check NVIDIA Display and NVIDIA PhysX
3) Click Clean button. Agree to the next prompt and to reboot question.
4) Now your video drivers are removed along with PowerMizer options and you will be able to boot normally.
5) You must re-install them again in normal Windows mode.
Good luck!
-
Wow, this is very helpful for my g51jx, you got my rep
-
Thanks, don't forget to post your battery runtime and idle temps on ac when/if you can.
-
Wow thanks. Will do this asap.
EDIT:
WOWOWOW!
GPU Idling in the 50s???? ITS A MIRACLE. Thank you so much.I'd give you more Rep if I could.
-
I set Powermizer to Max Performance/Min PowerSave while on AC power because the throttle doesn't seem to adapt quick enough when gaming. This results in idling temperatures that are the are same as previous to this tweak (60s).
Thanks again. -
MagusDraco Biiiiiiirrrrdmaaaaaaan
ooo.
something to eek out some time on my poor old G1's battery?
edit: I found out my go 7700 or the G1 don't support adaptive throttling. soooooo.
whelp. leave that on max performance when plugged in (otherwise it never scales up for some reason) -
But I have played quite a few games with it and with latest driver (257.21) once I start the game GPU stays at max pretty much all the time, so even if there are some hickups, I'm willing to use it in favor of much lower idle temps in AC.
And if not you can always lock GPU to high speed on AC. -
-
MagusDraco Biiiiiiirrrrdmaaaaaaan
yeah. hell it wouldn't even run furmark while set to adaptive throttling. "Can't load textures" or something.
-
Enjoy some rep for this. Thanks. Been having hell with PowerMizer since I got this G51VX. Maybe now it won't run at 70+° when idle.
-
hmmm... did i do something wrong?
I tried it but got pretty much the same results. On battery, it idles at 65-ish, with 1:30h (6 Cell). Plugged its 75-ish.
The only difference that I've noticed is the fan is always on now, plugged in.
Settings:
PerfLevelSrc - 2222
PowerMizerEnable - 1
PowerMizerLevel - 3
PowerMizerLevelAC - 1
Powermizer is min prof. Max Battery for battery power and opposite for AC
I'm, on a G51J-A1 so i got the same video card as u. -
Ok, here's the problem with temperatures while plugged in:
PerfLevelSrc = 2222 - means that GPU will be *locked* at a levels specified in PowerMizerLevel and PowerMizerLevelAC, i.e. the will be no throttling from level to lever. Since your PowerMizerLevelAC = 1, it means that when you're plugged in, then your GPU will always run at highest frequency and will not throttle. This is why your temperatures are the same as before, because GPU is set to run "on high" while plugged in just like you've had it before.
Solution: if you want your idle temperatures to drop when you're plugged in, then the only thing you have to do now is set PerfLevelSrc = 2233.
Second thing:
You're saying it idles at 65 even while on batteries and the fan goes like crazy. This could be caused because of 2 things:
1) Your heatsink is filled with dust. If so, solution is to blow/clean it out.
2) Registry settings don't get applied to your card. This one we will have to investigate. To check if this is true you will have to do the following:
-run your laptop on battery
-run GPU-Z and check the frequency of GPU on the second tab(!) not on the first one. It should be lower than while it's plugged in, even with your current registry settings.
-if your GPU frequency is not lowered while on battery then settings are not applied to your card for some reason. In this case, please, post your video card model and driver version installed.
Finally, about the battery runtime: it should be longer than before *only* if your GPU frequency drops down while on battery. If it drops down, then you should notice that your battery runtime is at least longer than your runtime without this tweak. So, as said above, we need to check if your GPU frequency really is going down.
Also, if you're not reaching 2 hours battery runtime, then it could also be because of your battery's wear level. You can check your battery wear level with this utility: HWMonitor by CPUID. Post your wear level here as well. -
My GPU Speeds plugged in:
Core:500Mhz
Memory Clock: 799.2Mhz
Shader: 1250.0Mhz
On Battery:
Core: 200Mhz
Memory Clock: 199.6Mhz
Shader:400Mhz
Battery Wear is -2%, GPU is GTX 260m Driver 258.96
Thx for the help! -
All right, seems like your GPU's frequency is going down to 200Mhz while on battery. So, you're not noticing any battery life improvement at all? Did you try running without this mod and with it on battery and writing down the runtime?
I have G51vx and without this mod (same video card) my laptop runs for about 1 - 1.5 hours max. With GPU down to 200Mhz my laptop runs at least 2 hours. The most I could squeeze out of my 6 cell battery was about 2 hours 40 minutes (this is without browsing or even touching the laptop, wifi is on). -
As I'm typing this, I'm physically testing it and record the time, incase the little battery is wrong.
EDIT: Nope, the battery icon is right, I got around 1 hour 30mins of battery life. -
Hmmm, very weird. Even logically, running videocard at 200Mhz should give longer battery runtime than running at 500Mhz. Honestly, I have no idea why it runs like this for you. Maybe software "gets set", but frequency is not physically applied to the circuitry inside the video card? Don't know what to tell you.
Well, the good thing is that you can always undo/switch back to the default settings if you don't like it. -
-
Yes, that works too I guess, sorry for late reply.
Guide: Get the most battery life and lower idle temperatures on your nVidia-based laptop
Discussion in 'Asus' started by premudriy, Jun 17, 2010.