PDA

View Full Version : Multiple systems vsynced together


TriangleMan
02-19-03, 08:52 AM
I'm running an app that needs vsync on multiple systems.
These systems are synced from an external source, at 60Hz.
My vertical refresh rate is 60Hz.

Unfortunately, the phase of the vsync on different machines is different. I need to get all the vertical sync's in phase.

So it boils down to this.
Is there any software command (call to the driver, gl_arb call, etc) that will reset the vertical sync?

My goal is to reset all the vertical sync's at one time, to get them in phase with the external 60 Hz pulse.

Thanks for any help.

TM

bwkaz
02-19-03, 11:57 AM
That would be a hardware (CRTC and monitor interaction-level), thing.

I seriously doubt there is anything that would do that from the software side, as I don't think being able to arbitrarily reset the refresh is a good thing for the monitor; however I would like for someone to prove me wrong...

merlin42
02-21-03, 07:14 AM
The only way to reliably do this is to buy more expensive vid cards that have "Genlock." I know that the top of the line 3dlabs cards have this, and I am pretty sure there is an nvidia solution with genlock, but I am having trouble locating it right now.

That being said it is possible to synchronize your calls to SwapBuffers using software*. Doing this in combination with using LCD displays/projectors, which refresh 1 line at a time, should get you most of the way there, but is still not going to be perfect, especially if the view is changing rapidly. ie it should be enough for a ground vehicle sim, but probably not enough for a flight sim.

* I have seen this proposed to be done a coule of different ways. The simple way is to have all the IG(Image Generator) computers send a broadcast 'ready' packet onto the local subnet when they have finished rendering and then have them all SwapBuffers once they have recieved a 'ready' from everyone else. The other way involves each IG broadcasting information about how long the last frame took to render so that everyone IG can estimate how long the next one will take and schedule the next SwapBuffers apropriately. This scheme is nice because it can also be used to tweak a LOD bias to avoid going over your time budgets if the scene sudenly becomes more complex.

*DISCLAIMOR* I have never implemented or even worked on either of these software genlock systems so I might just be spouting giberish.

**UPDATE**

I just ran across this:
http://netjuggler.sourceforge.net
Check out the SoftGenLock stuff!
This looks to be EXACTLY what you want.