S+R nodes separate R advanced nodes listening to the same S node having different framedelay?


I am experiencing strange behaviour with the S+R (Advanced) nodes.

In the attached help-file I use a modified version of Kalle’s P (Spreads) node. Basically I changed the ‘normal’ S and R nodes to S and R (Advanced) nodes. To keep it simple I removed the ‘fading’ functionality.

The strange thing is, in my experience an R node receives its input one frame later than when you send it to the S node (allthough I have never found any information that confirms that, I found out by trial and error).

In the attached patch (at least on my machine on beta24 and beta23), one of the R nodes receives the new value 1 frame after the other one, which is very annoying, but since I am using the same node, I would suppose they behave exactly the same…

Is this a bug, can someone else confirm this (or does it work on your machine as it should, in that case why wouldn’t it work here)?

P Framedelay Test.zip (4.7 kB)

Maybe one of the devvvvs knows how S and R nodes should behave?

Or is there no rule, shouldn’t I make any assumptions on when the data should arrive?

the S and R advanced nodes are plugins and not native nodes from vvvv, and i guess you have hit a very rare spot where the calculation order of the nodes matter. the S node stores its value in a static class, from which the R node gets its value. now, if one of the R node gets evaluated before the S has stored the value there, it receives the old value.

no idea how to solve that yet, but thanks for noting.

Sounds logical to me :)

Thanks for the explanation. I will redo the patch using wires instead.

Unless we have ways to:
a/ create “virtual link” between plugins ( so we can evaluate S nodes before R nodes)
b/ Have global frame events (So could make sure the cache is only updated end of frame)

There’s indeed no way to guarantee frame sync for all R nodes (at worst it will be one frame in that case).

S/R advanced have framedelay inside, also if you have two send nodes thay will work LTP style…