Blender Git Loki

Git Commits -> Revision f6ab97c

Revision f6ab97c by Bastien Montagne (master)
November 11, 2016, 22:17 (GMT)
Enhance BKE_library_make_local() to make it much quicker in complex cases.

Basic idea is to split first loop in two, and run checks before making
anything actually local, to detect data-blocks that we can directly make
local (because we are sure they are only used by already/future local
datablocks).

This allows to avoid a lot of overhead in later 'cleanup' steps of this
function, here with barbershop shot it's four times quicker (from 190s to 48s).

We are still far from the instantaneous results of MakeLocal in 2.77,
but in that version main characters lose their connection to their
armature and remain static after makelocal, so guess new code is still
better. ;)

There are probably more optimizations possible here, but would rather
polish this area of code once we get rid of proxies, those really
make it a nightmare to work on.

Commit Details:

Full Hash: f6ab97c1ae0f4605a15dd486cfd6388c75cc2e86
Parent Commit: f1ad2ab
Lines Changed: +103, -52

3 Modified Paths:

/source/blender/blenkernel/BKE_library_query.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/library.c (+71, -49) (Diff)
/source/blender/blenkernel/intern/library_query.c (+31, -3) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021