Sign in to follow this  
LSStudio

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

Recommended Posts

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.

Share this post


Link to post
Share on other sites
"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)

Share this post


Link to post
Share on other sites
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).

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites
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..

Share this post


Link to post
Share on other sites
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?

Share this post


Link to post
Share on other sites
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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this