From 5c79f2d0fba7360488e591922f91aa858bd8d603 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Mon, 30 Sep 2019 13:09:39 +0200 Subject: Fix T70325 EEVEE: Performance regression with large nodetrees This was caused by nodeChainIter which is not linear complexity. Introduce nodeChainIterBackwards to iterate backwards faster. --- source/blender/makesdna/DNA_node_types.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'source/blender/makesdna/DNA_node_types.h') 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; -- cgit v1.2.3