Unfortunately with the new Desktop Window Manager introduced in Windows Vista and forced to be in use from Windows 8 on, Optimus interacts awfully with this program.
There is, unfortunately, no solution to this problem! However, there are several work-arounds you may want to try:
If you're running Windowed mode (NOT borderless):
Workaround 1: In GZDoom, you can turn off VSync and enforce a framerate cap instead. You may use the console for this:
- Code: Select all • Expand view
vid_vsync false
vid_maxfps 59
The actual FPS will be 63 or so, because of how the timing code works, but it works. DWM.exe enforces VSync, anyhow, unfortunately.
If you're using Borderless and/or Fullscreen:
Workaround 2: GZDoom functions better when VSync is forced on, with Optimus in either fullscreen mode.
- Code: Select all • Expand view
vid_vsync true
This will work regardless of windowed setting (but only works for OpenGL):
Workaround 3: You can force GZDoom to use your Intel processor. This is, again, accomplished with the console as follows:
- Code: Select all • Expand view
vid_gpuswitch 2
Set it to 0 to use the default again, or to let NVidia decide. NOTE: This solution has no effect on Vulkan.
Works ONLY in Windows Vista or 7
Workaround 4: You may disable the Desktop Window Manager. This can be done by using the Start menu, and typing "services.msc" into the search box and pressing Enter. Afterwards, look for "Desktop Window Manager Session Manager" in the service list, and stop the service. If you wish this change to be permanent, you can set the service to be disabled (not recommended). Note that this will cause Windows to disable the glass borders and switch to a "basic" theme, which many people do not like. You will have to personalize your desktop to use a different theme if you do not like this.