Blender Git Loki

Git Commits -> Revision ce6d20b

Revision ce6d20b by Bastien Montagne (master)
January 16, 2019, 11:02 (GMT)
Add experimental batch IDs deletion.

Main idea is to remove IDs to be deleted from Main, to avoid looping on
them to remove other deleted IDs usage (this is the most expensive
process in ID deletion, by far).

Speed improvements when deleting a large amount of IDs from a Main
containing a lot of them is quite significant, some examples for Objects:
* Removing 1k from 10k: 32% quicker (2.5s to 1.7s).
* Removing 10k from 20k: 60% quicker (59s to 23s).
* Removing 20k from 20k: 99.5% quicker (82s to 0.4s)!

Note however that this process is more risky/touchy, since we by-pass
some safety checks from regular ID removal here.
So will only give access to that code from python API for now (in
separate commit), so that it gets really tested. Also still need to
think about how to hook it up in UI (probably mostly for Outliner),
since we often do higher-level operations there...

Commit Details:

Full Hash: ce6d20b54e3077e8d57103de3e7933069a2d54e7
Parent Commit: fcbbfb7
Lines Changed: +119, -22

2 Modified Paths:

/source/blender/blenkernel/BKE_library.h (+5, -4) (Diff)
/source/blender/blenkernel/intern/library_remap.c (+114, -18) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021