aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver
diff options
context:
space:
mode:
authorSébastien Crozet <sebcrozet@dimforge.com>2024-04-07 22:16:58 +0200
committerSébastien Crozet <sebastien@crozet.re>2024-04-30 23:10:46 +0200
commit996400726927fb952999afbc36db6e2bfba7d44e (patch)
tree8258505b69d0a0ad928284880137ff090f05b17e /src/dynamics/solver
parente69e73e589cf4525c96ee7b919032c80ce205244 (diff)
downloadrapier-996400726927fb952999afbc36db6e2bfba7d44e.tar.gz
rapier-996400726927fb952999afbc36db6e2bfba7d44e.tar.bz2
rapier-996400726927fb952999afbc36db6e2bfba7d44e.zip
feat: add some additional perf counters
Diffstat (limited to 'src/dynamics/solver')
-rw-r--r--src/dynamics/solver/island_solver.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dynamics/solver/island_solver.rs b/src/dynamics/solver/island_solver.rs
index 2953f98..159bfa7 100644
--- a/src/dynamics/solver/island_solver.rs
+++ b/src/dynamics/solver/island_solver.rs
@@ -41,7 +41,7 @@ impl IslandSolver {
joint_indices: &[JointIndex],
multibodies: &mut MultibodyJointSet,
) {
- counters.solver.velocity_resolution_time.resume();
+ counters.solver.velocity_assembly_time.resume();
let num_solver_iterations = base_params.num_solver_iterations.get()
+ islands.active_island_additional_solver_iterations(island_id);
@@ -76,8 +76,10 @@ impl IslandSolver {
&mut self.contact_constraints,
&mut self.joint_constraints,
);
+ counters.solver.velocity_assembly_time.pause();
// SOLVE
+ counters.solver.velocity_resolution_time.resume();
self.velocity_solver.solve_constraints(
&params,
num_solver_iterations,
@@ -86,8 +88,10 @@ impl IslandSolver {
&mut self.contact_constraints,
&mut self.joint_constraints,
);
+ counters.solver.velocity_resolution_time.pause();
// WRITEBACK
+ counters.solver.velocity_writeback_time.resume();
self.joint_constraints.writeback_impulses(impulse_joints);
self.contact_constraints.writeback_impulses(manifolds);
self.velocity_solver.writeback_bodies(
@@ -98,6 +102,6 @@ impl IslandSolver {
bodies,
multibodies,
);
- counters.solver.velocity_resolution_time.pause();
+ counters.solver.velocity_writeback_time.pause();
}
}