Performance: Body::setPose() should use Eigen::Isometry3d::linear() instead of ::rotation(). #125
Closed
Description
When using rotation(), Eigen unnecessarily does SVD decomposition via Eigen::Transform::computeRotationScaliing()
. But we're working with isometries, so linear part of the transform is equal to the rotation. I've done some performance tests and calling setPose()
on 20 000 bodies takes 250 ms, which is a lot (and according to the profiler, the time is dominated by SVD computations).
Metadata
Assignees
Labels
No labels