Blender Git Commit Log

Git Commits -> Revision 0e18a56

Revision 0e18a56 by Sergey Sharybin (master)
March 13, 2015, 12:38 (GMT)
Cycles: Free caches used by the synchronized objects

Issue this commit is addressed to is that particle system and particle modifier
will contain caches once derived mesh was requested and this cached data will
never be freed.

This could easily lead to unwanted memory peaks during synchronization stage
of rendering.

The idea is to have RNA function in object which would free caches which can't
be freed otherwise. This function is not intended to deal with derived final
since it might be used by other objects (for example by object with boolean
modifier).

This cache freeing is only happening in the background rendering and locked
interface rendering.

From quick tests with victor file this change reduces peak memory usage by
command line rendering by around 6% (1780MB vs. 1883MB). For rendering from
the interface it's about 12% (1763MB vs. 1998MB).

Reviewers: campbellbarton, lukastoenne

Differential Revision: https://developer.blender.org/D1121

Commit Details:

Full Hash: 0e18a5643239203385258b7d64f2d6b15594fa46
Parent Commit: 79393cb
Lines Changed: +56, -0

4 Modified Paths:

/intern/cycles/blender/blender_mesh.cpp (+13, -0) (Diff)
/source/blender/blenkernel/BKE_object.h (+1, -0) (Diff)
/source/blender/blenkernel/intern/object.c (+39, -0) (Diff)
/source/blender/makesrna/intern/rna_object_api.c (+3, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021