Blender Git Commit Log

Git Commits -> Revision 55e92bc

Revision 55e92bc by Campbell Barton (compositor-2016)
June 8, 2016, 19:45 (GMT)
readfile: optimization for undo

Was using O(n^2) lookup on ID's with undo.

This caused undo to hang with 1000's of data-blocks
(especially with heavy scenes & outliner-space, which doesn't even need to be visible to cause a slow-down).

Internally this uses a ghash per id-type, which is lazy-initialized.
Each key uses the name and library since there may be name collisions between libraries.

Developer Notes:

- Adds small `BKE_main_idmap_*` API.
- Needed to change linking order for this to build.

Commit Details:

Full Hash: 55e92bca764ff87441bee86b4ea85aeda50b2d01
Parent Commit: fd7bd05
Committed By: Jeroen Bakker
Lines Changed: +323, -61

2 Added Paths:

/source/blender/blenkernel/BKE_library_idmap.h (+50, -0) (View)
/source/blender/blenkernel/intern/library_idmap.c (+174, -0) (View)

3 Modified Paths:

/build_files/cmake/macros.cmake (+1, -1) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+2, -0) (Diff)
/source/blender/blenloader/intern/readfile.c (+96, -60) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021