diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2019-09-30 14:09:39 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2019-10-01 17:02:14 +0300 |
commit | 5c79f2d0fba7360488e591922f91aa858bd8d603 (patch) | |
tree | 4b1550dec65baa6b404447fd1cde57d3125305a4 /source/blender/makesdna/DNA_node_types.h | |
parent | cba1bdc40071cbdb90122db121a643f761edeb36 (diff) |
Fix T70325 EEVEE: Performance regression with large nodetrees
This was caused by nodeChainIter which is not linear complexity.
Introduce nodeChainIterBackwards to iterate backwards faster.
Diffstat (limited to 'source/blender/makesdna/DNA_node_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_node_types.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/makesdna/DNA_node_types.h b/source/blender/makesdna/DNA_node_types.h index 702758b51ec..7eecf23195a 100644 --- a/source/blender/makesdna/DNA_node_types.h +++ b/source/blender/makesdna/DNA_node_types.h @@ -277,7 +277,9 @@ typedef struct bNode { /** Used at runtime when going through the tree. Initialize before use. */ short tmp_flag; /** Used at runtime to tag derivatives branches. EEVEE only. */ - short branch_tag; + char branch_tag; + /** Used at runtime when iterating over node branches. */ + char iter_flag; /** Runtime during drawing. */ struct uiBlock *block; |