pouët.net

Speed issues on dual screen display

category: general [glöplog]
 
While trying some of my old OpenGL stuff at work, I noticed it ran at 80 FPS on GF 7800 while it ran at 120 FPS at home on a 6600 with a single monitor.

When deactivating the second monitor (LCD), the framerate goes back to normal.

While the demo is displayed only on one of the 2 monitors, the GPU seems to lose a lot of time because of the second one. I expected such a behavior but not with such a big framerate loss.
I haven't tried DX stuff yet but I guess the same thing happens.

Is there any way to prevent/lower that huge framerate drop or do we totally depend on the driver for that matter?
added on the 2007-02-16 20:22:56 by keops keops
keops, one of the 2 monitors has a slower rendering in all case. If you use only one monitor for rendering, you'll notice that it get 2 times slower or faster when you switch the order 1<->2 in the video preference.

Yes, it sucks, but it's like that. All the cards I've seen react like that.
added on the 2007-02-16 20:33:05 by krabob krabob
idea: maybe it's because 3d renderings can only be done on screen1 vram in all cases, and so it would need to blitting toward screen2 vram in 2 second pass when screen 2 is need...
(I don't have any other idea ...)
added on the 2007-02-16 20:36:25 by krabob krabob
scuse for frenglish in my second sentence, but my brain only allows good english in the 1st part of all my sentences.
added on the 2007-02-16 20:38:17 by krabob krabob
Forced vsync + lower refresh on second monitor?
added on the 2007-02-16 20:46:59 by nagato^ nagato^
Forced vsynch is not very unlikely, if you use dvi with digital signal on one and dsub/analog on the other.

Also, opengl and dualhead isnt really compatible, its because opengl sucks.
added on the 2007-02-16 22:19:33 by Hatikvah Hatikvah
Will try with different hardware configurations/settings, thanks
added on the 2007-02-18 21:17:03 by keops keops
Ive notice the same thing on OpenGL at work too. But since the card and drivers already sucks (Matrox Parhelia) i said myself it come from this...
added on the 2007-02-18 21:24:07 by Tigrou Tigrou
Keops: Is it fullscreen?
I'm having the same problem lately. When the app is in windowed mode it starts at a very low framerate. Then if I start moving the window randomly across the two screens, resizing, maximizing, restoring etc. at some point it gets back to normal framerate again.
As you said, if I run it with only one monitor activated then there's no problem. If I run it with both of them and on fullscreen mode then it goes slow and there's no way to get it back to normal.
added on the 2007-02-19 00:59:04 by ithaqua ithaqua
(OpenGL and gf6600GT, by the way)
added on the 2007-02-19 01:00:27 by ithaqua ithaqua
a common problem with windowed accelerated rendering and dualhead is that you create a window at position 0,0. this can make the driver think that the window acctually should splitted across the monitors. placing the window at a safe distant (say, center of screen) is a good thing to do. with d3d you can do really nasty stuff (such as initing devide #2 in windowed mode, but place it on monitor #1 - its not fast.)

Tigrou: Are you using individual screens or wide? I never had any such problems with parhelia, it's acctually the best card i ever had when it comes to dualhead exept the drivers back then did not support rotation.

ps. Do you want their HWDM sdk? ;)
added on the 2007-02-19 03:27:03 by Hatikvah Hatikvah
ithaqua: yep, fullscreen
added on the 2007-02-19 16:53:04 by keops keops
keops: I've been having problems of various kinds for ages with dual screen, best option is to just disable one screen while you run the demo or whatever it is if you can. It's a pain in the arse.

A few things I have found have a big impact though:

- VRAM - if you have a couple of hi-res screens, a demo will run on one while the other screen shows normal windows stuff, but the second screen is still eating a lot of vram.

- the dual-screen mode. Not sure on ATI, but nvidia has different modes. You can have two separate screens, or have one very-wide screen (spanning). I seem to remember the spanning mode gave better performance because it effectively drops to normal single screen mode when you run a full screen demo. I also remember having a lot of side-effects with that though and now have it disabled (can't remember what they were unfortunately, but I imagine it screws up windows when the screen mode switches back). Oh yeah, and it stopped some demos that don't change res from running across both displays, not sure if that's good or not ;-)

- Driver options - some cards have special settings in the driver options for dual display. That has a big impact on open GL if I remember right. On my (nvidia quadro fx1000) card I have a setting 'hardware acceleration' which is set to 'multi-display performance mode' - I remember this had a big positive effect when I turned it on. Also try changing 'maximise texture memory' if you have that.

- The card itself. I wondered for ages what the difference between a quadro card and a normal geforce card was, and found one big difference is that if you're running multiple 3d windows on multiple displays, the quadro cards have extra hardware to accelerate it. If you're on a normal geforce (and I assume ATI is the same) and have other openGL windows, try closing them before running whatever it is you're running.
added on the 2007-02-19 17:48:36 by psonice psonice
As if 80 fps was not enough. Try doing something that requires a lot of computations on the gpu and see the resullts then.
added on the 2007-02-19 18:04:22 by imbusy imbusy
imbusy: seems like you totally missed the point of my post. It's not about 80 fps being enough or not, it's about a huge framerate drop due to dual screen display, whereas the demo is displayed only on one screen.
added on the 2007-02-19 18:09:20 by keops keops
so what's your vsynch anyways? 100?
added on the 2007-02-19 20:54:21 by Hatikvah Hatikvah

login