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 )
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!)
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?
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?