Search - User list
Full Version: Overcooked?
Root » Technical Discussion » Overcooked?
jason_iversen
Hi there,

I did this:

In hscript:

set -g FOO=0


…and in a Null Object's tx parameter:

run(“set -g FOO=`$FOO+1`;echo $FOO”)


- Now as you step in the playbar and view the result of the equation, you'll see that the number will increase by 4 when the Null Object is is selected and by one when it's not selected.

So it seems like the parameters are excessively cooked when a node is selected. Is there a reason for what I'm seeing happen here? A classic case of overcooking?



Thanks,
Jason
mtucker
I'm not sure how you are checking the value of the tx parameter, because even a single cook of the node will evaluate the tx parameter twice, so the value should increase by two for each time the null object cook shows up in the performance monitor. The rest of the parameters evaluations are likely caused by parameter dialogs for the Null object evaluating the parameter to show you its current value. So even trying to find out the current value is going to change the value. So I'm not sure I would call this overcooking (or over-evaluation).

Try taking parameter dialogs out of the equation (by making sure none are pointed at the Null), and put “$T” in ty to make it cook every frame, and play for 100 frames. In this situation I got a tx value of 208, which isn't too bad (200 caused by 100 cooks of the Null, plus a few evlautions at frame 1 and frame 101 because I had to open a parm dialog to set the value and to check the value). Trying the same thing with a parm dialog open, I got a value of 304. Which is 200 for the cooks, 100 to evaluate and display the value 100 times in the parm dialog, and a few extra for when I actually set the expression (which I guess causes a couple of extra evaluations of the parm value). Overall I think that's a pretty good job of keeping cooking/evalautions to a minimum…

Mark
goldfarb
So even trying to find out the current value is going to change the value.
The Houdini Uncertainty Principal
jason_iversen
arctor
So even trying to find out the current value is going to change the value.
The Houdini Uncertainty Principal

Heh heh…

I check the value just by switching the parm from “expressions” mode to “value” mode (by clicking on the parm name). Stepping forward frames would increment the value.

What you say makes sense, but I was a little surprised to see how much more often it was evaluating when the node is selected versus unselected and I couldn't see if any reason for it.. ah wait - I think I've found out why -I have a Channel List pane on the side and the parameter showing up there must be causing at least a single extra evaluation.

I suppose not all parameters are cached? I'll check the Object transform caching with this to see if this still evaluates. I don't why I'm doing this, btw - just curiosity I suppose.

Thanks for the explanation, Mark.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB