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!