Nodes: avoid slow and unecessary node group updates on file read
On file read we need to update group nodes in case the group they refer to has changed its inputs and outputs. This had O(n^2) time complexity and was updating all datablocks even if they did not change.
This commit is contained in:
@@ -35,11 +35,11 @@ void register_node_type_group_output(void);
|
||||
/* internal functions for editor */
|
||||
struct bNodeSocket *node_group_find_input_socket(struct bNode *groupnode, const char *identifier);
|
||||
struct bNodeSocket *node_group_find_output_socket(struct bNode *groupnode, const char *identifier);
|
||||
void node_group_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
|
||||
void node_group_update(struct bNodeTree *ntree, struct bNode *node);
|
||||
|
||||
struct bNodeSocket *node_group_input_find_socket(struct bNode *node, const char *identifier);
|
||||
struct bNodeSocket *node_group_output_find_socket(struct bNode *node, const char *identifier);
|
||||
void node_group_input_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
|
||||
void node_group_output_verify(struct bNodeTree *ntree, struct bNode *node, struct ID *id);
|
||||
void node_group_input_update(struct bNodeTree *ntree, struct bNode *node);
|
||||
void node_group_output_update(struct bNodeTree *ntree, struct bNode *node);
|
||||
|
||||
#endif /* __NOD_COMMON_H__ */
|
||||
|
Reference in New Issue
Block a user