b3446ef26a833a582e3c96b6366b6c5b40ce317c
This storage of the entire mesh for topology-changing operations doesn't need to be stored in every single undo node. Move it to the data for the undo step instead. This decreases the size of undo nodes from 3880 to 1816 bytes. That saves about 4MB of memory on a single stroke affecting most of a 6 million vertex mesh. I didn't change anything BMesh related here because it's trickier to get right and not quite as encapsulated. Moving all BMesh undo data out of `undo::Node` would be a good step though, because only one undo node is used anyway.
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
