speed up update system
Created by: Durman
The idea is to protect us from extra calculations.
For example we have spiral node that generate huge data (700 000 points particularly). There is no need to generate this data each time when update system is calling. It is very simple to avoid recalculations. All that we have to do is to memorize properties of the spiral node and next time when update system will call to update the node, we will compare current properties and memorized properties, if nothing is changed do nothing.
Next step is do something with this data for example move points somewhere. But if this needs only once there is also no need recalculate this each time. In this case we should check not only properties of the move node but also was data coming from inputs sockets changed. For this goals I created new property of output sockets that returns True if parent node was recalculated.
I made speed test for old and new update system with next layout:
Spiral node generates 700 thousand points. New update system shows increasing speed to 15-75 times. It looks strange that with the same conditions new update systems shows different increasing speed. And I think it should work even faster.
Old update system:
New update system:
Related theme: #121 (closed)