uusing SLI or Crossfire setup to render one context to 4 displays?

Started by
5 comments, last by Agony 17 years, 4 months ago
I know that turning SLI or Crossfire on uses both GPUs to drive a single head of one card and turning it off allows for four displays. The question I have not seen answered is whether all four heads of the two cards can be fed by a single rendering context with full hardware acceleration with SLI or Crossfire. ATI has the following to say which could go either way: Can I use the CrossFire platform to drive multiple displays? A. Yes, the CrossFire platform will work with ATI’s SurroundView™ multi-monitor technology to enable up to 5 separate displays when not running in CrossFire mode. Are you sure it’s not 4 displays? SurroundView seems to be a feature of the low end integrated GPUs and I have no idea why the answer to the question ends with an unanswered question. I suspect the answer is "No", but would love a definitive answer. Thanks.
Advertisement
"whether all four heads of the two cards can be fed by a single rendering context with full hardware acceleration with SLI or Crossfire."

do you mean:

1 rendering context stretched over 4 virtual displays?
1 rendering context on 4 monitors (all of which are set to clone primary one)

Projects: Top Down City: http://mathpudding.com/

Quote:Original post by Delfi
1 rendering context stretched over 4 virtual displays?


Yes. Something like a 2x2 video wall (4 1024x768 to make one 2048x1536) or horizontal 4x1 (4096x768).
I needed to do something similar at work. I ended up having to (in Direct3D) create two devices, each with two heads, rather than having one device with four heads (which I assume is equivalent to what you're trying to do). Due to the complications of having to have resources duplicated on each device, and other issues, we ultimately scrapped that, and just used quad head cards from Matrox, since we had full control over what hardware got used for our product. If you don't have that choice, however, or you need the full 3D acceleration of the latest from nVidia/ATi, then you'll probably need to do two contexts with two heads each. Unless they have or will eventually improve SLI/Crossfire (or the drivers) to handle one device/context with four heads.
"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke
from my experience, i know normal non-sli cards from nvidia support hardware accelerated contexts stretched over multiple displays, so my guess is sli should work. but you will probably have to try it yourself to be sure..

Projects: Top Down City: http://mathpudding.com/

I've done multi-monitor programming using SLI.

I had 4 displays to power. I simply made the window (with a single RC) large enough to fill the screens.

I encountered a limitation though: the window could only be stretched to fill 3 monitors. I was using GLUT, and not in full screen mode. It may have been GLUT that limited me, rather than the card/drivers....

GLUT's fullscreen mode would not fill all the screens either.

Maybe straight win32 code can handle a window of that size?
Quote:Original post by WilyCoder
I've done multi-monitor programming using SLI.

I had 4 displays to power. I simply made the window (with a single RC) large enough to fill the screens.

I encountered a limitation though: the window could only be stretched to fill 3 monitors. I was using GLUT, and not in full screen mode. It may have been GLUT that limited me, rather than the card/drivers....

GLUT's fullscreen mode would not fill all the screens either.

Maybe straight win32 code can handle a window of that size?

Did you by any chance notice (or care) about page tearing? I tried to do the same thing, but may have been doing some things wrong, since I had a hard time hitting vsync effectively. It would match the whole window according to the vsync of the first monitor. The three other monitors had tearing at consistent locations, because their vsyncs were offset from the first monitor's. Like I said, though, I might have had some settings wrong. Either that, or perhaps (since I was using Direct3D) the DirectX drivers were doing something that the OpenGL drivers wouldn't. Dunno.
"We should have a great fewer disputes in the world if words were taken for what they are, the signs of our ideas only, and not for things themselves." - John Locke

This topic is closed to new replies.

Advertisement