diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-06-14 17:56:21 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2017-06-14 17:59:52 +0300 |
commit | dbca1afefa700f25198761624cdb9f1fd21095d2 (patch) | |
tree | a8f0ae0c23c7d62f426aa5096962d0020b6cac6f /source/blender/blenkernel/BKE_scene.h | |
parent | c59abb4c9a371e709c4904ce87d74c5c6c8a0792 (diff) |
Add an option to free scene without doing id-counters
This is similar to some other datablocks. Mainly applies to collections,
so freeing scene does not involve changing any non-directly owned data.
There are two main usecases foreseen for the future:
- Less CPU ticks on bmain free, where everything is freed anyway and
there is no need to preserve id counters.
- Easier freeing of temporary data, including data which is used by
depsgraph's copy-on-write mechanism.
Neither of those are currently implemented, but will be shortly.
Diffstat (limited to 'source/blender/blenkernel/BKE_scene.h')
-rw-r--r-- | source/blender/blenkernel/BKE_scene.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_scene.h b/source/blender/blenkernel/BKE_scene.h index cd59ef98903..5047070012c 100644 --- a/source/blender/blenkernel/BKE_scene.h +++ b/source/blender/blenkernel/BKE_scene.h @@ -71,6 +71,7 @@ struct Base *_setlooper_base_step(struct Scene **sce_iter, struct Base *base); void free_avicodecdata(struct AviCodecData *acd); void free_qtcodecdata(struct QuicktimeCodecData *acd); +void BKE_scene_free_ex(struct Scene *sce, const bool do_id_user); void BKE_scene_free(struct Scene *sce); void BKE_scene_init(struct Scene *sce); struct Scene *BKE_scene_add(struct Main *bmain, const char *name); |