Bugfix [#31735] Performance issue related to object parenting to armature
authorJoshua Leung <aligorith@gmail.com>
Thu, 7 Jun 2012 05:29:10 +0000 (05:29 +0000)
committerJoshua Leung <aligorith@gmail.com>
Thu, 7 Jun 2012 05:29:10 +0000 (05:29 +0000)
commite69ec8be5554a774612b8eeb15a2f00a327cc795
tree16074086868495da806a47e2e0a3d8c6967edebe
parentebb2dc84fcbb344ae3625e0e9d89b724d5378ca0
Bugfix [#31735] Performance issue related to object parenting to armature

In the file included with the bugreport, framerates were dropping from 60fps to
11fps for an armature with several lattices parented, and a 5fps drop everytime
an object was parented to the armature.

Upon (re-)inspection of the code, it became apparent that this was being caused
by a block of code that would recalculate the parent (perhaps recursively) as it
thought the parent state was for the wrong timestamp. However, the timestamps
this was using was never really updated (except for a single place, which set it
to a single fixed value to force recalculations to take place), which meant that
this branch was run all the time. AFACT, this is a remnant from some of the old
timeoffset stuff + pre-Depsgraph timestamping hacks that are no longer used/set.
source/blender/blenkernel/intern/object.c
source/blender/blenkernel/intern/scene.c
source/blender/editors/space_view3d/drawobject.c