We always call _skeletonModel.updateGeometry().  We only copy the joint rotations and call _skeletonModel.simulate() when there are NEW joint rotations available.  We must make sure _skeletonModel.isActive() before we do this, because it is possible that the Model's _geometry is not valid after the updateGeometry() call.