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