Avoid starting patches / loading subpatch on demand

Hello there,

In relation to my problem, that I’ve described in the thread https://discourse.vvvv.org/t/9558, I am trying to find a way to realise a big setup without crashing my machine. I’m glad for any ideas how to patch that in an efficient way.

The Problem is, that I got around 36 different scenes with 7 quads with videotexture on them. I want to switch smoothly between them, so I arranged each one as subpatch. The Patch, where they all are led together in a group is quiet big, and I realise, as soon as I open it, all of them are being loaded. I guess 252 video-textures at once, simply is too much.

Is there any way, I can make vvvv load the subpatch only when needed, and remove it, when the next scene-setup has blended in?



Are you using evaluate pin? If no, Evaluate pin is hidden by default, use inspector to unlock.


Thanks :-)

What your doing is loading 32x7 movies all at once, this will use a lot of memory
What Id suggest, is having the movies loaded out side of these ping part of your patch and piping the textures in as you need them, do you need to chafe between sets or fade to black between?
If the former use 2x the number of movies if the later just switch the input strings as needed.
Evaluate will help as you won’t be loading all of them, but I believe they will stay in memory so you might get a crash further down the line…

Catweasel, thanks for the answer. Most of the time, one videosetup will crossfade with the other, but there are some fade-to-blacks inbetween.

I’m quiet new with vvvv, so I don’t understand some things in your post. What do you mean with “ping part”. How can I load the textures outside?

I’ve hat a look at the patches in Taskmanager. You’re right, changing the evaluate__ helps to keep the memory down from the beginning, but the textures stay in memory, and the crash will come. So I would be glad if someone knew, how to unload the textures from memory, when they are not needed.

/allowmultiple and /dx9ex9 may come handy as you can load and unload patches in pairs without any glitch in the final render.

The search function is giving me some hints about /allowmultiple, but nothing about /dx9ex9. What’s this about?

Okay… I have found some info on /dx9ex. The problem is that I don’t understand how this will help. If I load all the textures in a different instance of vvvv, they will mess up my ram anyway, won’t they?

Why do you need all of them, just use the current and the following one.

I don’t need all of them, but I don’t have the time to open, delete and connect nodes during performance

Patches can me loaded on demand, type “patch” on the search function and you ll find out how to load a patch on demand with all its connection available.

Heres how I’d approach it, obviously simplified ;)
You have 2 banks of videos that you can xfade or cut between, textures are piped into your mapped quads.

xfade 2 banks of videos (9.1 kB)

this should get you started, just remember to use the 2 arguments and to load _root, subpatches/sub1 and subpatches/sub2 on 3 different instances of vvvv.
The net send/receive is a bit messy but it works

patches.zip (23.0 kB)

Thank you very much for the examples. I finally managed to make a stable patch, baseing on IOs patch. It didn’t work to pipe the setups through different instances of vvvv, but with a few changes to the sub1.v4p I made a patch, where my scene-setup-patches are being loaded and changed on demand. There is one problem left, sometimes the subpatch is being loaded with the connection to the Renderer, and sometimes it is not. Does anyone happen to know, what’s wrong? I really have not much of an idea about GetPatch and SetPatch.

Catweasel, thanks for your example, too. I’m sure your setup works great. I just didn’t understand how I could modify it to fit my needs.

patches.zip (132.4 kB)

When using set patch, all pins in the patches being switched, must have the same names, layer and Layer are different, and thats usually where these disconnections come from!