3

In my past experience I had only one laptop running on Windows 7. It had quite old switchable mechanism which applies system wide: when laptop is on battery it switches to thr integral Intel GPU and makes all applications run on it. When the power cable is plugged, it switches to the Radeon GPU and again all applications run on it (so it doesn't have a possibility to switch GPU on per-application basis). Recently I got another laptop with GeForce discrete GPU (RTX 2000 series), running on Windows 10, 21H1 and feel really confused. It also has integrated Intel GPU and I thought it would be consistent to keep similar logic, allowing laptop to switch between GPUs when on battery or plugged. However there is no such option in Windows power plan (it has setting to make Intel GPU run with low power consumption, but doesn't provide me with an option to switch graphics card).

In GeForce Control Panel it says that now it's Windows OS who decides which GPU an application should run on, so I suppose it just overrides GeForce Control Panel settings. When testing different combination of these settings with an application (in my case Witcher 3 game) automatically it always chose discrete GPU, no matter if laptop is on battery or not. So my understanding is that auto-select settings never opts for integrated GPU if an application is considered resource-demanding. In both Windows Settings and GeForce Control Panel I can "hardcode" some particular GPU for an application but i can't see how I can enforce it to switch between GPUs for an application based on laptop power source (plugged vs battery).

P.S. I know that GeForce Experience app has the Battery Boost feature, but that is not quite what I'm looking for, as the GPU an app is running on is still the same, but I need it to switch dynamically

3 Answers3

2

The solution is to unlock the advanced power settings via the registry. Once you do that, in the GeForce control panel it will no longer say the Windows OS decides which GPU an application should run.

Don't forget to set GeForce GPU to max performance.

The short backstory is: Windows ships with a setting which laptops can use called 'modern standby' or 'connected standby'. Essentially this allows the OS to automatically handle the advanced power management according to the manufacturers specification. So for instance, it will manage background activity while the laptop is 'off', among other things.

One thing to be aware of is that the system may still show the integrated card as the one in use however, if you check resource manager, you should see that the GeForce GPU is handling the bulk work.

Do the following then restart your computer and check the GeForce control panel again:

In 'regedit' go to - "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power“

Double click on “CsEnabled”

Change Value data from “1″ to “0″

Exit and restart.

Source: done this myself on a Surface Book 4

2

Similar problem here. My laptop has no way to shut the dGPU off. I decided to take this into my own hands and made my own app that allows you to configure whether apps use the iGPU or dGPU depending on whether you're plugged in or on battery. I also added the ability to have two sets of settings (mostly for games) via file swapping.

Here: https://github.com/sharpjd/GPUPrefSwitcher

Was a cool first fully fledged app project for me to do.

sharpjd
  • 21
1

Unfortunately, the requested configuration is unsupported.

The only company that allows such setup options would be AMD's Enduro implementation which allows GPU selection based on power supply.