Switching patches without dropping frames

I’ve made a basic DX11 patch mixer, and have lots of patches which I can select and load. I have two bays for the patches, and use a basic mixer to mix to the opposite patch, so I can load the other bay, make setting changes, then mix to it.

Have pretty low overheads, others are a bit bigger, none are loading huge textures or video, but often different shaders etc.

My question is, can you switch sub-patches in such a way that the rest of the main patch doesn’t slow down, or glitch on loading the next patch?

I’ve been reading lots of forum posts, but can’t seem to find much on the topic…

Theres a couple of options, you can run your 2 bays in separate threads/instances of vvvv, which can be a little complicated, and I have had issues with texture sharing, either stopping working, or tearing, or you can load all your patches at once and use evaluate to save processor when theyre not being used. I favour the 2nd method, theres no glitch on swtiching, but you can end up with a very large bloated patch!
Use a group node attached to the same enable as the evalute pin to turn off the patch, other wise it holds it last state ( this can also be useful to lower cpu of big patches with sub patches that only need to run every now and then )

Cool, yeah, didn’t think it was going to be easy, it’s about the 4th switcher I’ve made from the ground up, but first time fully in dx11…

Have you got a small example patch for the 2nd method?

my 2 cents: after open the main patch you have to evaluate every subpatch at least once (establish data flow) before you are able to switch smoothly

Heres a very basic patch to demonstrate it, as DiMiX says, you want to evaluate the all the patches when they load so all the resources are in memory, otherwise they will load when you first evaluate them.
It is very easy, but the main patch can get massive, imagine having 20 or 30 patches (or more!)

Using Evaluate in patch switchers (6.3 kB)

Thanks! Just as a comparison I wanted to start up two instances of vvvv to try that method as well, for my due diligence, but right away I am getting the grey splash on the second instance. (all I’ve done is copy the exe and rename it to vvvv2.exe is that the correct method?

Then I am guessing boy group locally between them?

ah, copied and renamed config as well… sorted.

Make a text file next to vvvv.exe and name it args.txt
Add:
/allowmultiple
To the file, then you can start multiple instances of vvvv without copying of vvvv.exe

What sune says is the best way, the other way was when I first discovered it!
Also you can use process to set which processors the instances work on

Sweet, just to confirm before I start patching, would boygroup between the instances be the way to pass communication between them?

I use udp… no text …

Hi, I’m using evaluate switching method for my latest project and came across a problem when loading patches, some of them don’t work properly until I reload them (ctrl R). Any idea what that could be and what is the solution?

Are they evaluating for a few frames when the main patch initially starts?