diff options
author | Campbell Barton <ideasman42@gmail.com> | 2009-12-08 13:36:46 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2009-12-08 13:36:46 +0300 |
commit | 0391b1ab780b34a149d3c4181d0fe676ef55199e (patch) | |
tree | fcc5611cd83129f9c475591d47fb47cea84dc491 /source/blender/blenloader/intern/writefile.c | |
parent | 445d077cf4ecc84b5d5cf422bfb2040186d60164 (diff) |
compile python driver expressions for faster re-evaluation.
approx 15-25x speedup
Diffstat (limited to 'source/blender/blenloader/intern/writefile.c')
-rw-r--r-- | source/blender/blenloader/intern/writefile.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/writefile.c b/source/blender/blenloader/intern/writefile.c index 2bfc726b7c7..3d654f5ebc9 100644 --- a/source/blender/blenloader/intern/writefile.c +++ b/source/blender/blenloader/intern/writefile.c @@ -934,8 +934,14 @@ static void write_fcurves(WriteData *wd, ListBase *fcurves) ChannelDriver *driver= fcu->driver; DriverTarget *dtar; + /* don't save compiled python bytecode */ + void *expr_comp= driver->expr_comp; + driver->expr_comp= NULL; + writestruct(wd, DATA, "ChannelDriver", 1, driver); + driver->expr_comp= expr_comp; /* restore */ + /* targets */ for (dtar= driver->targets.first; dtar; dtar= dtar->next) { writestruct(wd, DATA, "DriverTarget", 1, dtar); |