In a lazily evaluated graph (mostly anything in Soft, and most DCC apps in
fact) you try to compute the bare minimum, which means you travel upstream
from the necessary to the data.

IE: object is moved in viewport, things necessary to draw it are inspected
until all data found is aligned with the previously existing cached state
(non dirty). Object not inside the viewport, no need to draw it, no graph
interrogation.

If you have an op with hundreds of outputs those outputs, when you travel
upstream from the trigger, are simply unaware of each other, which means
that graph, at the very least to find if something further upstream is
dirty, will be evaluated once per each port.

This is the case for scops, ice graphs, convoluted setups, maya nodes etc.

Unless you use some tricks to manage those states (you aggregate and
cache/dirty/repop things yourself, something that we have special
facilities for here that Aloys wrote), you will pull an inordinate amount
of superfluous data if you do multiple outputs in the same graph. Some
times it's inevitable, but if performance is important then you will have
to find a way to reduce intersection and have as few outputs per op as
possible.

Even the same graph instanced a number of times is more efficient when you
deal with hundreds of objects, as at the very least you won't be pulling it
for objects outside the frustum.

On Thu, Feb 7, 2013 at 4:23 AM, Jeremie Passerin <gerem....@gmail.com>wrote:

> Thanks for the tips everyone.
> Just using an extra null to host the ice tree seems already to fix my
> problem.
>
> Raff : Avoiding local kine make sense to me. I always use Globals when I
> write SCOP so I should be safe. Thanks for the confirmation.
>
> Ahmidou :
> I'm a bit confused by what you say. The test I want to build has a hundred
> of outputs, but I only want to compute some data once... I'm wondering how
> I will need to tackle that to keep the speed high.
> I'll give it a try first ;-)
>



-- 
Our users will know fear and cower before our software! Ship it! Ship it
and let them flee like the dogs they are!

Reply via email to