Dual display 3D slower on 2nd display

Rubycon

Madame President
Aug 10, 2005
17,768
485
126
Noticed on both ATi and NV boards.

If I launch a D3D app and throw it over to monitor #2 the framerate tanks. Why does it do this?
 

ethebubbeth

Golden Member
May 2, 2003
1,740
5
91
I recall there always being problems with d3d when trying to render to something other than the primary display. Not sure why though, so I'd love an explanation as well.

From an MSDN forum:

"I am writing a Direct3D application that run in multiple-monitor mode. If I leave DirectX window on primary display, everything is OK (CPU% is about 1%). As soon as I move DirectX window to second display, CPU usage jumps up 100% even though I have not drawn anything in the windows. Any help would be appreciated.

If your D3D device was not created to use the adapter connected to the second monitor then Windows will try to show your 3D content by transferring the results from the first adapter's memory to the second one's. This operation is of course too slow and is all done via the CPU. Read on Multimon support in the SDK docs to see what options you have to deal with multimons in D3D. "
 

dderolph

Senior member
Mar 14, 2004
619
0
0
So, you have two video cards installed? Right? Is one of them a PCI card? What GPU is it?
 

YOyoYOhowsDAjello

Moderator<br>A/V & Home Theater<br>Elite member
Aug 6, 2001
31,205
45
91
Originally posted by: dderolph
So, you have two video cards installed? Right? Is one of them a PCI card? What GPU is it?

I'm assuming it's one card with dual output and she's saying sending the app to the secondary display of the single card causes major performance issues.

(If it was being sent to a POS secondary card I think the answer would be obvious)
 

dderolph

Senior member
Mar 14, 2004
619
0
0
Originally posted by: MS Dawn
Noticed on both ATi and NV boards.
Hmmm, your mention of both ATi and NV boards implies two cards are installed. But, you say that's not the case. So, are you saying both ATi and NV boards have been tried, with the same results?

More details on the card(s) and monitors would be helpful. Is this a card with DVI and VGA outputs? Monitors: LCD or CRT?

 

Rubycon

Madame President
Aug 10, 2005
17,768
485
126
What I meant is the behavior is the same whether I'm using an ATi board or nVidia.

Both displays are Dell 3007's. ATi card = 1900XTX, NV card = 8800GTX.

Funny thing is one application (Trees of Pangea) ALWAYS launches on display no. 2 and runs fast!

So it would seem if a windowed D3D (openGL too!) app is launched in display 1 and thrown to 2 it slows down considerably. :confused:
 

xtknight

Elite Member
Oct 15, 2004
12,974
0
71
Maybe games that are set to initialize their device context on display 1 are chosen to be accelerated for display 1 only.

What is your setting in the NVIDIA control panel for multiple display performance mode? There is an option that says single-display performance, compatibility, and multiple-display performance.

You have one NVIDIA card driving one display, and the other X1900XTX driving the second display, in the same PC?
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
There is a longstanding issue with 3D viewports and multiple monitors. Since I first described the issue to NVIDIA about 6 years ago (drivers were still in their infancy), they have much improved. However, what basically happens is that the driver drops back into a compatibility mode as there is the potential for a viewport to span across both windows. Not only that, it also deals with the way Windows itself handles display composting. The primary desktop monitor gets priority, as it houses the bulk of the Windows UI.

This is a physical limitation of video hardware, and the drivers behind it. It's partly the reason why you can only run one monitor with SLI as well.
 

ethebubbeth

Golden Member
May 2, 2003
1,740
5
91
Originally posted by: SunnyD
There is a longstanding issue with 3D viewports and multiple monitors. Since I first described the issue to NVIDIA about 6 years ago (drivers were still in their infancy), they have much improved. However, what basically happens is that the driver drops back into a compatibility mode as there is the potential for a viewport to span across both windows. Not only that, it also deals with the way Windows itself handles display composting. The primary desktop monitor gets priority, as it houses the bulk of the Windows UI.

This is a physical limitation of video hardware, and the drivers behind it. It's partly the reason why you can only run one monitor with SLI as well.

Bingo, that's what I remember reading but couldn't remember the specifics.
 

Rubycon

Madame President
Aug 10, 2005
17,768
485
126
Originally posted by: xtknight

You have one NVIDIA card driving one display, and the other X1900XTX driving the second display, in the same PC?

No but is that even possible? :Q

A pair of 8800GTX's NOT SLI'd running four panels with a game on each panel with sufficient CPU power would be neat to try. :shocked:

Will this issue be addressed in the future? (Vista?)

 

YOyoYOhowsDAjello

Moderator<br>A/V & Home Theater<br>Elite member
Aug 6, 2001
31,205
45
91
Originally posted by: MS Dawn
Originally posted by: xtknight

You have one NVIDIA card driving one display, and the other X1900XTX driving the second display, in the same PC?

No but is that even possible? :Q

A pair of 8800GTX's NOT SLI'd running four panels with a game on each panel with sufficient CPU power would be neat to try. :shocked:

Will this issue be addressed in the future? (Vista?)

I was under the impression that you could indeed use whatever combination of PCI-e cards on an SLI board and run them non-SLI.

So you're going to try four games at once? :p
 

SunnyD

Belgian Waffler
Jan 2, 2001
32,675
146
106
www.neftastic.com
Originally posted by: YOyoYOhowsDAjello
Originally posted by: MS Dawn
Originally posted by: xtknight

You have one NVIDIA card driving one display, and the other X1900XTX driving the second display, in the same PC?

No but is that even possible? :Q

A pair of 8800GTX's NOT SLI'd running four panels with a game on each panel with sufficient CPU power would be neat to try. :shocked:

Will this issue be addressed in the future? (Vista?)

I was under the impression that you could indeed use whatever combination of PCI-e cards on an SLI board and run them non-SLI.

So you're going to try four games at once? :p

Yes, it's completely possible. You can literally use as many video cards as you have slots for.

Back in the day (when I first found this issue) I ran a GeForce 256 AGP and an Oxygen VX1 PCI card.
 

Rubycon

Madame President
Aug 10, 2005
17,768
485
126
Originally posted by: YOyoYOhowsDAjello

So you're going to try four games at once? :p

No harm in trying. ;)

Originally posted by: SunnyD


Yes, it's completely possible. You can literally use as many video cards as you have slots for.

Back in the day (when I first found this issue) I ran a GeForce 256 AGP and an Oxygen VX1 PCI card.

How is desktop management in this scenario?

Is it possible to have a 5120x3200 desktop with two dual head cards like the 8800GTX?

 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
Originally posted by: MS Dawn
Noticed on both ATi and NV boards.

If I launch a D3D app and throw it over to monitor #2 the framerate tanks. Why does it do this?

That is because the desktop/gaming graphics cards have just one final output surface "overlay" for 3D or video rendering; this overlay is assigned to one head, usually the one the respective application first opened its output window - and if you're moving it onto the other one, it's going to be slow. For video, some drivers are intelligent enough to make the overlay follow along - for 3D, this is obviously not the case as you observed.
 

Matthias99

Diamond Member
Oct 7, 2003
8,808
0
0
Originally posted by: MS Dawn
Yes, it's completely possible. You can literally use as many video cards as you have slots for.

Back in the day (when I first found this issue) I ran a GeForce 256 AGP and an Oxygen VX1 PCI card.

How is desktop management in this scenario?

Is it possible to have a 5120x3200 desktop with two dual head cards like the 8800GTX?

You can definitely have a very large desktop... Windows, I think, can handle something like 10 video display devices at once. THG had a piece a while back where they put four dual-head PCIe cards into one system (on a server MB with four PCIe x16 slots), and it worked fine.

However, you can only run "spanned" desktop modes across monitors on the same video card. So Windows would see, at least, one 'desktop' per card.

In theory, you could have a driver or abstraction layer in the OS that made them look like one giant desktop -- but it would probably be too slow if you tried to do things like put video overlays or 3D output windows spanning multiple screens.
 

Peter

Elite Member
Oct 15, 1999
9,640
1
0
The last paragraph is exactly what is happening even with "spanned" mode. Whatever the graphics driver makes it look like to the upper layers of the OS, down on the hardware it won't be able to do more than what the graphics engine(s) for the individual heads can do.

For example, one can very well run twin screens in "common frame buffer" mode (in Linux), and make it look like one big surface to the applications. Even then, you still won't be able to span a video window across the border that separates the physical screens - exactly because the video overlay is NOT part of the frame buffer, but merged into the individual head's output stream "at the last minute".