Multiple monitors...

How important is it to specify the correct GraphicsDevice when constructing a GLCanvas on a multi-monitor system. Suppose I had a frame positioned on the secondary monitor, and I wanted to add a canvas to it.

Also, if subsequently the user dragged the frame from the secondary monitor over to the primary one, are there any precautions I need to take to handle this scenario? I wouldn’t have thought so, cos it seems to be happy, just asking out of curiosity.

Finally, how well does JOGL support environments that have more than one graphics card (not talking SLI here). Suppose I wanted to run a JOGL app across 4 monitors using 2 PCIe gfx cards (assuming none of the canvases would cover more than one display device), how feasible is this?

to add to that question - what if the 2 displays are being run from different graphics cards. (as opposed to a single graphics with multiple outputs)

It should only make a difference on X11 platforms, at least currently. The Windows and Mac OS X ports currently ignore the passed GraphicsDevice argument. On the X11 side of things I think it should also only matter if you have two separate screens supported by the same X server and don’t have Xinerama enabled.

I haven’t done extensive testing with multi-head systems so hopefully others will chime in. At one point I had a dual-boot Windows and Solaris/x86 (or maybe Linux, don’t remember) machine with one AGP NVidia card and one PCI NVidia card and things generally worked. I think there were issues on one OS or the other when a window rendering OpenGL was dragged onto the “other” screen, but this was a while ago and maybe problems like this have been resolved at the driver level.

I currently have a Geforce 7800GT that is driving two DFPs; one running at 1920x1200 and the other 1600x1200. This setup works pretty well with OpenGL apps, even windowed stretched across the two displays although there is some performance hit.

Anyway most of it is probably down to the way the driver handles it. Dual-head, single gfx card seems to be OK these days, but I’m sure the moment you start mixing ATI with NVIDIA or whatever, more fundamental problems will arise…

Ken, I still have this issue with pixel buffer objects being unreasonably slow when I use them in a JOGL app whereas they work perfectly in a glut test app. This is apparent only in dualhead mode, no window spanning though!

I don’t think the current OpenGL ICD mechanism on Windows supports cards from more than one vendor.

I’m sorry about the PBO issues you’re running into but I don’t have any ideas at this point on what is going wrong. If you have the cycles to investigate the differences between JOGL and LWJGL in pixel format selection and context management and can figure out the essential difference why JOGL is slower in this area, I’ll be glad to make any changes to the source base you recommend. Keep in mind that JOGL is a community project so if you would like to see specific things in an area you care about please contribute.

Cheers Ken, I’ll look into it more if and when I get some time!

I might consider to shell out a few quid for a cheap ATI PCIe card and see how that coexists with my 7900GT. Can anyone in this forum recommend a decent board for less than $70-ish, fit for OpenGL/JOGL (and preferably GLSL, latest shader model).

M

I’ve sat in on some OpenGL ARB discussions related to OpenGL on Windows and from that I can tell you that cards from multiple vendors currently do not coexist on that OS. I think you’ll be wasting your money…

Oh OK thanks I better not waste my money… :slight_smile: