Blender Git Loki
Git Commits -> Revision 414c704
Revision 414c704 by Bastien Montagne (master) June 23, 2014, 11:42 (GMT) |
T39690: Modifications to Blender's 'temp dir' system. Current temporary data of Blender suffers one major issue - default 'temp' dir on Windows is never automatically cleaned up, and can end being quite big when used by Blender, especially when we have to store per-process data (using getpid() in file names). To address this, this patch: * Divides tempdir paths in two, one for 'base' temp dir (the same as previous unique tempdir path), the other is a mkdtemp-generated sub-dir, specific to each Blender instance. * Only uses base tempdir when we need some shallow persistance accross Blender sessions - and we always reuse the same filename (quit.blend...) or generate small file (crash reports...). * Uses temp sub-dir for heavy files like pointcache or renderEXRs (Save Buffer option). * Erases temp sub-dir on quit or crash. To get this working it also adds a working 'recursive delete' to BLI_delete() under Windows. Note that, as in current code, the 'recover render result' hack-feature that was possible with SaveBuffer option is still removed. A real renderresult cache feature will be added soon, though. Reviewers: campbellbarton, brecht, sergey Reviewed By: campbellbarton, sergey CC: sergey Differential Revision: https://developer.blender.org/D531 |
Commit Details:
Full Hash: 414c70435dcd52eb67df59f56132837de0a63b64
Parent Commit: 9b98710
Lines Changed: +161, -56
17 Modified Paths:
/source/blender/blenkernel/intern/blender.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/modifier.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/pointcache.c (+1, -3) (Diff)
/source/blender/blenkernel/intern/smoke.c (+1, -1) (Diff)
/source/blender/blenlib/BLI_path_util.h (+4, -2) (Diff)
/source/blender/blenlib/intern/fileops.c (+59, -12) (Diff)
/source/blender/blenlib/intern/path_util.c (+66, -12) (Diff)
/source/blender/compositor/intern/COM_Debug.cpp (+1, -1) (Diff)
/source/blender/editors/space_view3d/view3d_ops.c (+2, -2) (Diff)
/source/blender/makesrna/intern/rna_userdef.c (+1, -1) (Diff)
/source/blender/python/intern/bpy_app.c (+1, -1) (Diff)
/source/blender/render/intern/source/render_result.c (+3, -5) (Diff)
/source/blender/windowmanager/intern/wm_files.c (+5, -5) (Diff)
/source/blender/windowmanager/intern/wm_init_exit.c (+3, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+1, -1) (Diff)
/source/creator/creator.c (+7, -5) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp (+3, -1) (Diff)
/source/blender/blenkernel/intern/modifier.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/pointcache.c (+1, -3) (Diff)
/source/blender/blenkernel/intern/smoke.c (+1, -1) (Diff)
/source/blender/blenlib/BLI_path_util.h (+4, -2) (Diff)
/source/blender/blenlib/intern/fileops.c (+59, -12) (Diff)
/source/blender/blenlib/intern/path_util.c (+66, -12) (Diff)
/source/blender/compositor/intern/COM_Debug.cpp (+1, -1) (Diff)
/source/blender/editors/space_view3d/view3d_ops.c (+2, -2) (Diff)
/source/blender/makesrna/intern/rna_userdef.c (+1, -1) (Diff)
/source/blender/python/intern/bpy_app.c (+1, -1) (Diff)
/source/blender/render/intern/source/render_result.c (+3, -5) (Diff)
/source/blender/windowmanager/intern/wm_files.c (+5, -5) (Diff)
/source/blender/windowmanager/intern/wm_init_exit.c (+3, -1) (Diff)
/source/blender/windowmanager/intern/wm_operators.c (+1, -1) (Diff)
/source/creator/creator.c (+7, -5) (Diff)
/source/gameengine/GamePlayer/ghost/GPG_ghost.cpp (+3, -1) (Diff)