Blender Git Loki

Git Commits -> Revision 441a440

Revision 441a440 by Campbell Barton (master)
June 7, 2016, 07:27 (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: 441a440cbbb700511d6d1ec01e2f149355adcc02
Parent Commit: 3054e33
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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021