Nodes: avoid slow and unecessary node group updates on file read
authorBrecht Van Lommel <brechtvanlommel@gmail.com>
Sat, 20 Apr 2019 18:25:22 +0000 (20:25 +0200)
committerBrecht Van Lommel <brechtvanlommel@gmail.com>
Wed, 24 Apr 2019 10:44:27 +0000 (12:44 +0200)
commitd730e512ac56bd68c75f8c44ff186b51010db4c7
treedddf69daf78ac1627db7069ef3012b8ecb54017f
parent62421470ee09fb70f343eb9fd48b093316c8eea1
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.
20 files changed:
source/blender/blenkernel/BKE_node.h
source/blender/blenkernel/intern/library_remap.c
source/blender/blenkernel/intern/node.c
source/blender/blenloader/intern/readfile.c
source/blender/editors/space_node/node_group.c
source/blender/makesrna/intern/rna_nodetree.c
source/blender/nodes/NOD_common.h
source/blender/nodes/composite/nodes/node_composite_common.c
source/blender/nodes/composite/nodes/node_composite_image.c
source/blender/nodes/composite/nodes/node_composite_outputFile.c
source/blender/nodes/composite/nodes/node_composite_scale.c
source/blender/nodes/composite/nodes/node_composite_switchview.c
source/blender/nodes/intern/node_common.c
source/blender/nodes/shader/node_shader_tree.c
source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c
source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c
source/blender/nodes/shader/nodes/node_shader_common.c
source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c
source/blender/nodes/shader/nodes/node_shader_tex_voronoi.c
source/blender/nodes/texture/nodes/node_texture_common.c