I ran into an issue where an Eye rig setup to track a camera using bone constraints was causing performance issues. Each eye had a bone with an IK constraint targeting a gaze control bone, which had a Copy Location bone constraint set to copy the Camera.

When I move the camera, the viewport lags badly, even with a relatively simple character. What is strange is that the performance drop continues even if I disable the copy location constraint by unchecking the Eye icon on the constraint panel. This suggests that the constraint is still being calculated even when it is disabled.

Is this correct, and is there any way to deal with this problem? Some of my rigs need a lot of constraints, and I don't want to be stuck with this performance problem when doing basic posing and scene composition.

  • $\begingroup$ Have you deleted the constraint to check that that is really the source of the performance drop? Copy Location is very simple, so I find it hard to believe that it causes this. $\endgroup$ – dr. Sybren Jul 6 '17 at 6:19
  • $\begingroup$ @dr.Sybren Yes, I have. Note that the model does have a subsurf after the armature, so i'm not surprised that there is a performance drop, only that it doesn't go away when I disable the constraint! If I disable the subsurf that does solve the problem in this specific case, but then that messes up my viewport render previews. $\endgroup$ – Drudge Jul 6 '17 at 6:28
  • $\begingroup$ Ok, so it's not the constraint that's the cause. $\endgroup$ – dr. Sybren Jul 6 '17 at 6:30
  • $\begingroup$ It is the constraint, because the problem does not occur if I delete the constraint. It occurs when the constraint exists, even if it is disabled. The performance drop is coming from a combination of the subsurf and the rig moving. It exists if I manually move the eye target. That's not the issue. The issue is why does it exist when I move the camera even when the eye target is NOT moving because the constraint is disabled. $\endgroup$ – Drudge Jul 6 '17 at 6:43
  • $\begingroup$ Post a minimalised version of the file. That is, remove everything from it that's not necessary to demonstrate your issue. $\endgroup$ – dr. Sybren Jul 6 '17 at 7:07

It's not the constraint that's the cause. The common way to deal with this is to enable "simplify" and globally reduce the subdivision level while you're animating.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.