Reading around it seems it is not as simple.
I am no coder in any way so i may sound dumb here but yeah.
According to Nvidia for buttery smooth synchronized machines they use something called swapsync in DX9/11 and OpenGL.
All this with certain profile in the graphics driver - Vsync stuff and so on.
Seems not a lot of software support it. What i have found to work with it is Ventuz, VIZ RT series and a few other broadcast softwares.
To my knowledge, you can create a swapsync group, which makes sure that if one of the members of the group isn’t able to finish rendering a frame in time, all of the members of the group drop a frame. Or the other way round, only if all members render in time, they swap their buffers to present that frame.
Like this you can make a cluster really behave like one monitor, where, if the slowest member of the group can’t keep up, all do drop frames.
If I recall correctly, this is part of the nvidia and amd Framelock APIs, and works only in the daisy-chained clocking scenarios over these RJ45 connectors. It doesn’t work with simple genlock.
If you can assume that your members can keep up, or if your desired behaviour is that if a member is slow, only that one drops a frame, you can igonre this feature.
synchronizing the outputs is indeed possible by just genlocking the cards. And as tonfilm pointed out, in order to play video or synchronize animations, all you need is a common counter.
This isn’t so trivial, though, because you need to control when your counter message is sent and interpreted within a frame.
we have a solution for that, where a udp message with the frame count is emitted on the v-sync event … before we share it, we would like to understand your commercial usecase though.
Hey all, and thank you for entering the conversation.
My machines are all the same, according to my benchmarks and usage so far they are pretty similar and consistent in performance, so I am not afraid of one lacking behind… or too much in the case.
So far i have been using other commercially available software that does what i need depending on the situation, but i have always wanted to use vvvv in production.
Why I am asking:
Well i am interested in these things. I like… no, I love the idea of bunch of machines working in sync for one large task. Especially with the screens and resolutions getting bigger and bigger these days.
Some of the LED walls I have worked with reach 18kx6k pixels. One does not simply use a single machine to do this, nor multiple with bad synchronization. And I have had plenty of bad experience with commercial tools. And even though I found a way to drastically cut down on the number of machines and other peripherals needed to do such a job I think it can be done even better.
So I got inspired by tools created in TouchDesigner such as Luminosity and DEVISION. Other tools made in MAX/MSP/Jitter and so on.
There are some interesting ideas floating here too, such as catweasel`s Kontrol Evvvverthing!
Needs work but it is a start and an interesting idea. Also some of the “VJ racks” from a while ago.
To be quite honest i am not sure if something like this can be achieved in vvvv, but i am hoping it can be done.
I have no immediate plans for commercial use, rather my own toy in spare time while the season is dead, and as a research purpose as i have some big plans … or rather dreams for the future.
With time working in the industry many of us have developed certain workflows and we want certain things.
In my case, Like some of the users here have done, id like to create my own tool for production use, based on vvvv. And id love to see it community driven and accessible by this same community. While many will not make use of the kind of sync I want, the “tool” can still be out there.
I realize I don’t have the skills needed for this, but one can always learn and see if some of the parts are already created. Just like Legos :) put them together for something bigger and better.
I am considering some kind of funding for the creation of such a tool, but this will again depend of whether what I `d like it to be capable is even possible. In my case solid sync is a must for me.
I can provide my idea as a concept but let’s not spam the thread :)