Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021