The Optimus technology by NVIDIA is said to automatically control performance of graphics card, like increasing performance when the laptop is on AC power, and reduce performance on battery battery. My question is, how can I turn off this useless technology? I purchased the graphics card so I could enjoy games with higher FPS.

By the way, my GPU has been over clocked and playing graphically-intensive games such as Battlefield 4 has a relatively high FPS, when on AC power. You might think I could've just removed the battery, charge the laptop itself and play the game but no, my laptop comes with a non-removable battery pack. Kind of sucks.

Anyways, just to let you know, on AC power, BF4's performance would be at 40-60+ FPS, and on battery power, the performance would be at 20-35+ FPS.

I think I didn't make myself clear, so here's an edit:

I want to turn off this technology so my graphics card performance won't get reduced on battery power.

Extra info:

Laptop model: ASUS S551LN VivoBook

Windows 8.1 64 bit


500GB storage

Intel® Core™ i5-4200U @1.60GHz 2.30GHz

  • Why would you want to disable increasing performance when the laptop is on AC power? Jul 20 '14 at 6:55
  • @DavidSchwartz Sorry, i was in a rush and didn't think much before posting this question. Please see my updated question.
    – MegaRodeon
    Jul 20 '14 at 7:51
  • You can't have one without the other. If the performance doesn't get reduced on battery power, it won't get increased on AC power. They're two different ways of saying the same thing. Jul 20 '14 at 8:25
  • @DavidSchwartz What i mean is the performance will get reduced on battery power, and 100% performance on AC power.
    – MegaRodeon
    Jul 20 '14 at 8:29
  • Do you have a cite for that claim? Nothing I've read about Optimus suggests that it cares whether you're running on battery power or AC power. As I understand it, that has no effect on its behavior at all. Jul 20 '14 at 10:07

In short, you cannot disable Optimus.

See this SuperUser post/answer: Brian's answer

There are some newer laptops in which I've observed a BIOS option that allows one to disable the Optimus feature. But knowing how this system works, I'm not sure that will yield the result that you wanted and might just force the OS to use the IGP for everything.

Although, the context of your question suggests its not really Optimus you are having issues with, but rather nVidia's automatic performance scaling when on battery power...

From nVidia's customer support page: Setting "Power management mode" from Adaptive to Maximum Performance

Also go into Windows' own power settings and create or alter the High Performance profile to have Maximum performance on everything, especially CPU.

If all of that doesn't change anything, delve into the BIOS again and find the power states for the CPU and disable anything related to power savings.

If all of this doesn't work, that means at some fundamental level, whether drivers or hardware implementation, someone decided that if you unplug the machine, you will have a ceiling on your performance. Hope this helps.

  • I appreciate your answer. However, I've tried all the above methods; maximizing performance through power plans doesn't work. Bios in ASUS is so featureless that it doesn't allow you to change anything major to the system.
    – MegaRodeon
    Aug 11 '14 at 23:07

It is possible that you have more CPU cores parked whilst running on battery. There's a registry hack here if you're interested. Not tested this one personally, so be careful.

  • Well it does change the behavior, when I charge my laptop, the performance is at the max of its capability. When leaving it to discharge, the performance will get reduced. For the ParkControl app, I already have it since few months back, and I've disabled core parking on both charging and discharging, but no difference was seen.
    – MegaRodeon
    Aug 11 '14 at 7:58
  • I don't suffer the same issue unplugged. My NVidia chip has 3 performance levels, and will stay on max if unplugged and gaming. Nails the battery of course... Aug 11 '14 at 10:29
  • Then the problem might be how my GPU was configured. I've literally flipped the entire internet to find out how to disable Optimus, but so far there isn't any absolute solution.
    – MegaRodeon
    Aug 11 '14 at 10:31
  • Sorry, pressed enter for new line and posted comment, my bad. Try keeping your lappy plugged in, and set your GPU performance level to the one below optimal. Now run BF4 and see if the framerate drop is the same as the one you have described. Aug 11 '14 at 10:39
  • Keeping laptop plugged in in my case = max. Performance If setting graphics settings beyond what my GPU can handle, the frame rate would drop. Let's not talk about graphics first. Playing BF4 unplugged equals to using an older GPU. Btw: my friend gives the word laptop the nickname Lappy too
    – MegaRodeon
    Aug 11 '14 at 10:46

It's worth checking the registry for the correct values, if you're up for it.

It's quite a long thread, but the basic values you're after are at the bottom of this page. Fire up RegEdit and run a search for 'PerfLevelSrc' without the quotes, (make sure you select 'Computer' at the top of the left hand pane before you start). When you get a result, scroll back up the right hand pane and check 'Device Description' to make sure you're dealing with the NVidia GPU and not the Intel graphics. If it's the Intel just hit 'F3' and it'll look for the next match in the registry.

When you're happy you've got the NVidia, set PerfLevelSrc to 2222, and the four PowerMizer values to 0. When you're done hit 'F3' again and repeat the whole process for any other hits. Don't forget to check you're dealing with NVidia.

When you've finished going through the registry, reboot your computer and check the results. Good luck.

  • Thank you for the answer. However, the 4-digit number '0000' is for Intel graphics, and '0001' is for my GPU, and 0001 has neither PerfLevelSrc nor the four PowerMizer values.
    – MegaRodeon
    Aug 12 '14 at 11:08
  • The Powermizer Switch utility should enter those values if they are not present. Make sure to right-click it and 'Run as administrator'. 'PerfLevelSrc' will be a DWORD value, i.e. 0x00002222 or just 2222 when you edit manually. Please make a registry backup with the likes of ERUNT before making any changes; and make sure to read and re-read any instructions before editing. Aug 12 '14 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.