Blender Git Loki
Git Commits -> Revision b077de0
Revision b077de0 by Julian Eisel (master) August 20, 2020, 18:22 (GMT) |
Outliner: Avoid rebuilding tree on selection/active changes We can avoid the rather expensive outliner tree rebuilds and only redraw if nothing but the selection or active item changes. This should give a bit of speedup for heavy scenes. For this to work I had to correct a few notifiers, some were only sending selection/active change notifiers that actually did things like adding objects. I also added a more precise notifier type for when the active collection changes. At the notifier subtype/action level we're not even close to running out of bits, so this should be fine. Also had to correct a wrong notifier check (was using `&` rather than `==`). |
Commit Details:
Full Hash: b077de086e14291fe5f7cdf6d3564a8f1cfb9cb3
Parent Commit: 2e6d5e6
Lines Changed: +59, -30
9 Modified Paths:
/source/blender/editors/object/object_add.c (+4, -0) (Diff)
/source/blender/editors/space_outliner/outliner_edit.c (+2, -14) (Diff)
/source/blender/editors/space_outliner/outliner_intern.h (+3, -1) (Diff)
/source/blender/editors/space_outliner/outliner_select.c (+8, -4) (Diff)
/source/blender/editors/space_outliner/outliner_tools.c (+1, -0) (Diff)
/source/blender/editors/space_outliner/outliner_tree.c (+4, -6) (Diff)
/source/blender/editors/space_outliner/outliner_utils.c (+18, -0) (Diff)
/source/blender/editors/space_outliner/space_outliner.c (+14, -4) (Diff)
/source/blender/windowmanager/WM_types.h (+5, -1) (Diff)
/source/blender/editors/space_outliner/outliner_edit.c (+2, -14) (Diff)
/source/blender/editors/space_outliner/outliner_intern.h (+3, -1) (Diff)
/source/blender/editors/space_outliner/outliner_select.c (+8, -4) (Diff)
/source/blender/editors/space_outliner/outliner_tools.c (+1, -0) (Diff)
/source/blender/editors/space_outliner/outliner_tree.c (+4, -6) (Diff)
/source/blender/editors/space_outliner/outliner_utils.c (+18, -0) (Diff)
/source/blender/editors/space_outliner/space_outliner.c (+14, -4) (Diff)
/source/blender/windowmanager/WM_types.h (+5, -1) (Diff)