6702f74d0b325f4f26e15514e87a5554d8b95e2e
Previously the default constructor ran, then the copy or move assignment. This resulted in extra creations of runtime data, including allocations of all the shared caches, only for them to be immediately replaced by the new ones. Move assignment also didn't clear the source curves completely, which could result in higher memory usage or worse, extra users for attribute arrays, which could lead to unnecessary copying. In a very simple test repeatedly copying a tiny Curves data-block, I observed a 30% performance improvement. This also fixes a memory leak of the offsets in the copy assignment. Pull Request: https://projects.blender.org/blender/blender/pulls/117932
…
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%
