diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-07-11 18:19:28 +0200 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-07-11 18:20:01 +0200 |
| commit | 71519b72deefa9c0b564d7f790d6c7c564d58a5e (patch) | |
| tree | 15525a9b1f779174435482ff6c60c13e519d19ff /src/geometry/narrow_phase.rs | |
| parent | 62d6b0651b35b5b354c18b386d8a4e2c9669fd2f (diff) | |
| download | rapier-71519b72deefa9c0b564d7f790d6c7c564d58a5e.tar.gz rapier-71519b72deefa9c0b564d7f790d6c7c564d58a5e.tar.bz2 rapier-71519b72deefa9c0b564d7f790d6c7c564d58a5e.zip | |
Various broken performance experiments
Diffstat (limited to 'src/geometry/narrow_phase.rs')
| -rw-r--r-- | src/geometry/narrow_phase.rs | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/src/geometry/narrow_phase.rs b/src/geometry/narrow_phase.rs index bbabc95..843015e 100644 --- a/src/geometry/narrow_phase.rs +++ b/src/geometry/narrow_phase.rs @@ -654,23 +654,31 @@ impl NarrowPhase { + ComponentSet<ColliderFlags> + ComponentSetOption<ColliderParent>, { + let mut num_delete = 0; for event in broad_phase_events { match event { BroadPhasePairEvent::AddPair(pair) => { self.add_pair(colliders, pair); } BroadPhasePairEvent::DeletePair(pair) => { - self.remove_pair( - islands.as_deref_mut(), - colliders, - bodies, - pair, - events, - PairRemovalMode::Auto, - ); + num_delete += 1; + // self.remove_pair( + // islands.as_deref_mut(), + // colliders, + // bodies, + // pair, + // events, + // PairRemovalMode::Auto, + // ); } } } + + println!( + "Delete events: {}, add events: {}", + num_delete, + broad_phase_events.len() - num_delete + ); } pub(crate) fn compute_intersections<Bodies, Colliders>( @@ -818,6 +826,9 @@ impl NarrowPhase { } let query_dispatcher = &*self.query_dispatcher; + println!("num threads: {}", rayon::current_num_threads()); + let t0 = instant::now(); + println!("Num contacts: {}", self.contact_graph.graph.edges.len()); // TODO: don't iterate on all the edges. par_iter_mut!(&mut self.contact_graph.graph.edges).for_each(|edge| { @@ -1021,6 +1032,8 @@ impl NarrowPhase { pair.has_any_active_contact = has_any_active_contact; } }); + + println!("NF time: {}", instant::now() - t0); } /// Retrieve all the interactions with at least one contact point, happening between two active bodies. |
