Armature speed ups, Part II

---------------------------
"Delay Deform" option for armatures.

The button is under the X-ray bones button in the edit buttons.
With this armature option selected, manipulations in pose mode
will only deform children after the transformation is finished.
While hardly an optimal solution to the slow armature crisis, this
gives about 4 times speed up on some meshes (ah well, at least lets
me isolate armature vs. displist slowdowns while profiling).
This commit is contained in:
Chris Want
2004-01-03 01:40:53 +00:00
parent 7303944ea9
commit 33916a2402
5 changed files with 27 additions and 6 deletions

View File

@@ -3393,7 +3393,8 @@ void special_trans_update(int keyflags)
#if 1
if (G.obpose && G.obpose->type == OB_ARMATURE)
clear_pose_constraint_status(G.obpose);
make_displists_by_armature(G.obpose);
if (!is_delay_deform()) make_displists_by_armature(G.obpose);
#endif
if(G.vd->drawtype == OB_SHADED) reshadeall_displist();
@@ -3466,6 +3467,11 @@ void special_aftertrans_update(char mode, int flip, short canceled, int keyflags
allqueue(REDRAWIPO, 0);
allqueue(REDRAWNLA, 0);
}
if (!canceled && is_delay_deform()){
clear_pose_constraint_status(G.obpose);
make_displists_by_armature(G.obpose);
}
}
else {
base= FIRSTBASE;