If I understand correctly, you added a knob changed callback and it slows
nuke down.

The knobChanged callbacks will get called very frequently in the UI. It's
important that you filter the incoming knob changes and exit the function
as soon as possible. Every time a node is move, the callback will get
called. I just sketched up an example to prove this (
http://pastebin.com/zpa2tXtA). Just by selecting a node and moving it a
small bit, you can see my callback is run nine times in less than half a
second.

10:10:11.499000: Constant1.selected

10:10:11.499000: Viewer1.selected

10:10:11.578000: Constant1.xpos

10:10:11.586000: Constant1.xpos

10:10:11.597000: Constant1.xpos

10:10:11.613000: Constant1.xpos

10:10:11.630000: Constant1.xpos

10:10:11.646000: Constant1.ypos

10:10:11.663000: Constant1.xpos


The docs shot some good examples of testing the name() of the knob, and you
should probably test the node.Class() to make sure you only run on "Write"
nodes.

http://docs.thefoundry.co.uk/nuke/70/pythondevguide/callbacks.html#knobchanged


All that said, I've created write file knob filters in production and not
had performance issues. Look back at your code and see if it could be more
efficient. It would also be nice to see an example of your callback code if
you want some help making it more efficient.


Cheers,

jesse
_______________________________________________
Nuke-python mailing list
[email protected], http://forums.thefoundry.co.uk/
http://support.thefoundry.co.uk/cgi-bin/mailman/listinfo/nuke-python

Reply via email to