What would be the best approach to have multiple viewports on two devices (different monitors) which are both in fullscreen mode?
As far as I can tell, the GLCanvas is tied to a device (which you can pass in the constructor) so I have to have two. And on the secondary device’s canvas I can specify a shared GL context from the primary device’s canvas, so the display lists and textures should be kept within both.
Then, since I have two canvas, I need to hook my GLEventListeners (my drawable components, so to speak) to both of them, which is normal since I may want to render different stuff in both.
And finally I don’t think I need more than one Animator since both canvas can be added with the “add” method prior to starting.
This all works, but my only problem is the framerate. First, FRAPS reports around 50 frames per second in both screens (and the FPS between the two screens is sync’ed) but it looks and feels more like 25.
Also, when in dual view on my GeForce 5900XT, I can’t disable V-Sync. It’s off in my drivers and I force “setSwapInterval(0)” in the initialization but it only works with a single monitor. So I deduce that the framerate for both devices is locked to 60 (my refresh rate) and somehow each of them cannot do more than 30.
Update : I have made my own routine for framerate count and I have exactly 30 FPS for each canvas, which confirms what I thought.
With one fullscreen device on a single screen I hit around 120, the scene is a teapot.
So am I doing anything wrong? Is there a sample of what I want ot accomplish?
Thanks!