Windows area size != Back Buffer size (2 video cards with different resolution)

Hi guys,
we are in a venue and we are facing a strange behaviour.

We noticed it because going to fullscreen felt like we were losing resolution. And indeed it does: we notice that when the renderer is at “expanded window” the resolution is perfect, whereas when we go to fullscreen, we lose definition.

Our setup is made of two video graphics card:

  • a Nvidia GeForce RTX 3060 (the primary one, used for calculations);
  • Nvidia Quadro P620 (the one we use to send images to 2 projectors);

The second video card has a different resolution respect the first one, it has a mosaic set on it for the 2 projector.

Using the “Overview windows and fullscreen” example patch we see that:

  1. when we are in “expanded window”, the windows size and the back buffer size have the same dimensions 3840x1129 - 3840x1129 . They both have correct dimensions, we see a clear and perfectly sharp image!

  1. when we sent the window to fullscreen with the SetFullscreen node, while the window size stays the same (3840x1200), the back buffer show a different size which is the GeForce resolution (1920x1080 - for both the Quadro video card the resolution is 1920x1200 instead).

It looks like Gamma is not seeing the two Quadro at all.

How can we solve?

might be related to this ImGui not responding properly at all resolutions

AFAIK vvvv/stride only makes use of the primary GPU.
See @joreg 's answer here.

not when exporting, I have to manually assign the exported exe to the good gpu.

Yes, correct, vvvv uses only one GPU. If you want to use two, you have to link the two cards with the right SLI mode.

The question of what GPU is chosen on startup is a windows setting, and of course every exe has it’s own setting.

The vvvv installer will try to set the fastest GPU for vvvv.exe. If you export an exe, it’s up to you to set the windows setting. The exe itself shouldn’t choose automatically because it takes away the user decision and is in conflict with the windows setting, which should be the source of truth.

1 Like

Thank you all guys for your suggestions,
I think I’ll have to dig deep on this on order to better understand this mechanism.

For the moment I have solved by leaving the render windows in “expanded mode”, hiding the title bar and also hiding the “windows task bar”.

I know this is a sort of workaround but at least, this way, I’m capable of getting the best visual definition I need and it works.