System Information
Operating system: Windows 7 64 bit
Graphics card: Nvidia GTX 560 Ti
Two displays are connected to the machine.
Blender Version
2.80 to 2.83
Short description of error
Blender's viewport performance will drop badly if the window is touching the bottom edge of the screen.
The performance will be far below what is expected of the hardware and the content that is being rendered.
Ensuring that the window doesn't touch the bottom of the screen brings performance back to expected levels. (and hey, eevee is actually pretty smooth, after sorting this out)
Maximizing the window will also trigger this, which can unfortunately lead to users thinking that Blender is just inherently slow, or that their hardware can't handle it.
This is absolutely not related to the viewport size, I can stretch the window over both displays and it still runs much better than having it maximized in one of them.
The difference in performance is about half, almost as if everything was being drawn twice by accident.
Disabling one of the displays does not affect the behavior.
Other OpenGL programs do not behave in this way.
Exact steps for others to reproduce the error
Open a scene that's complex enough to stress the hardware.
Maximize the window, observe performance.
Reduce the window, position it so that no edge touches the screen borders. The viewport should be much more responsive now.
Position the window so that its bottom edge goes off screen. The performance should drop again.