Try this, it fixes games failing to recognize dedicated GPUs with Optimus.
Open windows registry (Run -> regedit.exe)
Open [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows] key.
Look for RequireSignedAppInit_DLLs entry on the right side of windows.
If the value is 1 (probably yes, by default) change it to 0 (double LMB on it and change).
Quick note: this is bound to drain your batery faster, as certain applications will start using GPU as well. Also make sure you have "Always use dedicated GPU" on NVIDIA Control Panel, or it's kinda pointless, since it'll keep using integrated if something's not properly selected.