afe13175da033dc882525ab51c717ab1e0bb2d01
Bezier handles are recalculated in many places in the animation code. Threading that code can give a performance boost all over Blender. This patch only threads a part of the handle calculation code. `BKE_nurb_handle_smooth_fcurve` can still be run in parallel, but that's more complicated, so not done in this PR. Overall this patch mostly benefits code paths that are not already threaded. ------ Performance delta | Action | Before | After | | - | - | - | | `recalcData_graphedit` moving a single key | 1.06 ms | 1.0 ms | | `recalcData_graphedit` moving 300 keys of a single FCurve | 1.6 ms | 1.4 ms | | `recalcData_graphedit` moving 300 keys of multiple FCurves | 60 ms | 55 ms | | `ANIM_animdata_update` when using the Breakdown operator in the GE | 90 ms | 73 ms | Test file used https://download.blender.org/ftp/sybren/animation-rigging/heavy_mocap_test.blend Pull Request: https://projects.blender.org/blender/blender/pulls/119388
…
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%
