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)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021