I created my account in the hopes to get help on this issue.
I am on Debian 11.7 x64 on an Intel Xeon E5-2697 system with 64GiB memory.
My GPU is a Quadro P400. It has 3x mini displayport connectors. I have 3 identical mini displayport to regular displayport cables connecting to 3 identical AOC 4k monitors (U2879VF).
While I was writing my OpenGL application I felt the graphics to be particularly sluggish and so started debugging my code thinking the problem was mine. However after calculating the FPS to 29.97 in the app I started to suspect the issue was elsewhere.
Sure enough after firing up nvidia settings panel I could see that while the display devices denoted DP-2 and DP-4 had the following stats:
Connection link: 4 lanes @ 5,40 Gbps
Refresh Rate: 60,00 Hz
the DP-0 device has these stats:
Connection link: 2 lanes @ 5,40 Gbps
Refresh Rate: 29,97 Hz
Everything else was identical
So my intuition tells me that I am simply exhausting the capabilities of the GPU in this case, it is simply not able to keep up with the bandwidth of 4k@60Hz x 3. So here are my questions:
- Is my intuition correct, or could it be that there is a problem in my configuration/bug in the driver/OS?
- How can I select which of the 3 monitors that gets downgraded without having to swap cables around?
- When I start my app it always runs at 29.97 FPS, no matter what monitor it displays on. I suspect this is because the OpenGL initialization code is conservative and provides me with a context that runs at 29,97 “just in case” I drag the application window to that one monitor. Is there perhaps a way I can affect this behaviour?