Blender Git Commit Log

Git Commits -> Revision 6b18e13

Revision 6b18e13 by Julian Eisel (master)
November 11, 2020, 18:08 (GMT)
UI Code Quality: Use C++ data-structures for Outliner object hierarchy building

See https://developer.blender.org/D9499.

* Use `blender::Map` over `GHash`
* Use `blender::Vector` over allocated `ListBase *`

Benefits:
* Significantly reduces the amount of heap allocations in large trees (e.g.
from O(n) to O(log(n)), where n is number of objects).
* Higher type safety (no `void *`, virtually no casts).
* More optimized (e.g. small buffer optimization).
* More practicable, const-correct APIs with well-defined exception behavior.

Code generally becomes more readable (less lines of code, less boilerplate,
more logic-focused APIs because of greater language flexibility).

Commit Details:

Full Hash: 6b18e13c5b2fecd6485eaf44a58de5375f175ce9
Parent Commit: c9cc03b
Lines Changed: +22, -42

1 Modified Path:

/source/blender/editors/space_outliner/tree/tree_view_view_layer.cc (+22, -42) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021