8a79212031178b3ac74ca355b225fb1494738f47
On animations with high key counts, `remake_graph_transdata` takes most of the compute time when moving keys. This patch threads the loop over FCurves in that function to speed things up. Test file with 10.000 keys per F-Curve | - | Before | After | | - | - | - | | Moving 1 key of each FCurve | ~2200ms | ~285ms | | Moving a single key | ~0.70ms | ~0.72ms | As demonstrated in the measurements, this speeds up the case of modifying a lot of data, while not impacting the case of modifying very little data. The measurements were taken on an 8c/16t CPU. The higher the thread count, the better the performance gain. Measurements of `remake_graph_transdata` using the following test file. https://download.blender.org/ftp/sybren/animation-rigging/heavy_mocap_test.blend Pull Request: https://projects.blender.org/blender/blender/pulls/119497
…
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%
