diff options
author | Bastien Montagne <bastien@blender.org> | 2022-06-03 16:35:49 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-06-03 17:07:05 +0300 |
commit | e73fd4f0c03f9584eb3ac4aa3d1c07c83ddec759 (patch) | |
tree | 1147331cb083a623b396a1823f8338f4a76dbd0e /source/blender/makesrna/intern/rna_space.c | |
parent | 691ab3fc46a3225560c3e4c5d46c7bb2fd413391 (diff) |
Fix (unreported) important memory leak in Boolean modifier using a Collection operand and Fast mode.
Code handling repetitive boolean operations when using several objects
from a Collection would not handle result mesh properly, re-creating for
each object without properly freeing it.
Further more, existing code was effectively converting the BMesh to mesh
twice, including a modification of the initial (input) mesh, which
modifiers should never do!
Removed the extra useless conversion, which also gives a small
improvement in performances:
With as simple of a scene as four objects (three operands in a
collection, and the modified one) totalling 20k vertices/faces, this
commit:
* Avoids 2MB memory leak per evaluation (!).
* Speeds up boolean evaluation by 5-10%.
Found while investigating some production files of the Project Heist
here at the Blender Studio.
Diffstat (limited to 'source/blender/makesrna/intern/rna_space.c')
0 files changed, 0 insertions, 0 deletions