i am afraid boygrouping does not handle the genlock for you.
do you have to genlock? depends on your needs. if you want to go for 100% you’ll need it. but i’d first see how far you get without it. specifically if your videos motion is not too fast and the videowall is not seemless you may be fine without.
set everything up and check the video-sync examples in:
iirc @eno has some experience with genlocking. maybe he can add some infos.
it is like joreg said.
if you play video, you have to expect to be one frame off across the cluster without genlock.
if you render generative content off the same clock, the frame-time used to calculate the animation drifts with the screen refresh and might be off by <= 0.5 frames.
Note the difference between genlock and framelock.
s400 will do the job if you need genlock, and you can derive the frame time off of the synced frame number.
A warning: even if you do get true genlock, you may still have a different kind of sync problem.
With vvvv, it appears the info is actually computed over the time of the frame readout from top to bottom, and things like a line moving sideways actually shows up on the monitor as a slanting line, what’s called a “rolling shutter” in cameras. When you do this over multiple stacked displays, you get a tearing effect, where the line at the bottom of the top monitor does not line up with the line at the top of the bottom monitor. It is quite obvious with fast moving graphics.
I have not found any Renderer (DX11) settings to force each frame render at a constant time; anyone know if there is such a thing?
Also, I would strongly suggest you use fewer PCs. I have done a 3x3 array of full HD displays with one PC, three outs from three graphics cards. Most cards now support up to four outs from each card, so you could do a 2x4 off one PC. It will make video playback much tighter and simpler (if that’s what you’re doing), particularly with DX11 - at least in my experience.
Still need to test it with different type of setups, and do a little bit of cleanup.
Main issue is multiple fullscreen forms seems not to work (as soon as you add a second fullscreen either it fails or the other full screen window goes back to windowed mode). I tried with different render device per form, and even with 2 different 4v processes, but second full screen still fails.
In the case you need only one full screen window (eyeFinity or single output), then yes everything works fine, just have to be careful of refresh rate/resolution.
Out of curiosity, what’s your framerate behavior if you use 2 maximized render forms both with vsync enabled (not full screen). I’m curious if there’s a difference just by hosting the render in top level control instead of child control (like current renderer).
I have 2 monitors attached one for control / patching the other one for the renderer. In Win 8 the Renderer goes Fullscreen on the 2nd Monitor, np. But I’ve got two machines running win 7, there the renderer goes fullscreen on the 2nd Monitor but the first also goes black. Any idea, how to prevent this?
and more on topic, even though my help with genlock is limited at best.
I wonder, if boygrouping is really necessary for most cases. Boygrouping is not as hot as some years ago, when multiscreen setups were usually afforded by one client per screen.
Nowadays GPUs are capable of delivering crazy high-res video streams (a single DisplayPort1.2 can feed 2160p/60Hz).
So selecting one good machine, some signal splitters (Triplehead or MST Hubs), and working with spanmode and viewports are usually the saner options, if you want the nsync (at least in my experience). Eventually you save some hardware bucks and you are still able to have half a dozen FullHd or more in sync.
And to calm some heads ;)
Both dx11 and ex9 are fit for the spanmode job. To me it makes sense to use dx11 because necessary content can be generated with greater ease and power. However, EX9 still has the advantage of the true fullscreen.