Hi Tim,

On Wednesday 08 April 2009 22:25:49 Tim Moore wrote:
> Here's the theory: the values in question, such as material colors
> or vector parameters for a shader, must be set in a vector operation
> in OSG. The values are set at startup and also at runtime by material
> animations. Typically the raw C++ values that could be set by a property
> system "tie" are protected members and not accessible.
>
> Currently a big performance hit is the need to run an update callback on
> every state set involved in a material animation (not to mention on every
> animation). It might not seem like this could be expensive, but the need
> to traverse the big scene graph every frame is expensive in terms of what
> is costly on today's hardware: pointer chasing, cache misses, etc. If we
> can move away from update callbacks, we will see a gain. However, if the
> individual components of the values in question exist independently in
> the property tree and can be set individually, this greatly complicates
> the bookkeeping needed to avoid update callbacks, or forces us to just
> use update callbacks.

Well, yes, the atomicity of setting of properties is preserved with that 
change. And yes this will help to move some animations into the cull step and 
make them asyncronous. Is this where you are heading to?

I would like to move the animations having a transform node into this 
direction. So we could hopefully narrow the sub trees that need the update 
visitor.

Greetings

Mathias

------------------------------------------------------------------------------
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to