diff options
| author | Kai Stevenson <kai@kaistevenson.com> | 2026-08-23 17:53:46 -0700 |
|---|---|---|
| committer | Kai Stevenson <kai@kaistevenson.com> | 2026-08-23 17:53:46 -0700 |
| commit | 3c5b52c742a86dfb86238bad3bfc375bf12fc518 (patch) | |
| tree | 93455692eb47164b1f7a96bf931fd10cf66e1959 /src/sim/sim_manager/utils.rs | |
| parent | 1e0ad48c47f0c4b3c2eadc19d65e20123b931023 (diff) | |
profiling, tweaks
Diffstat (limited to 'src/sim/sim_manager/utils.rs')
| -rw-r--r-- | src/sim/sim_manager/utils.rs | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/sim/sim_manager/utils.rs b/src/sim/sim_manager/utils.rs index e77f30a..f30e9a0 100644 --- a/src/sim/sim_manager/utils.rs +++ b/src/sim/sim_manager/utils.rs @@ -68,6 +68,7 @@ pub fn write_entities_to_world( sim: &mut SimManager, // (entity_x, entity_y, cell_x, cell_y) ) -> Vec<(EntityId, Vec<(u8, u8, i32, i32)>)> { + puffin::profile_function!(); // TODO optimize let entity_ids: Vec<EntityId> = sim.entities.keys().copied().collect(); let mut cells_written_by_entity: Vec<(EntityId, Vec<(u8, u8, i32, i32)>)> = Vec::new(); @@ -85,6 +86,7 @@ pub fn read_back_entities_from_world( sim: &mut SimManager, cells_written_by_entity: Vec<(EntityId, Vec<(u8, u8, i32, i32)>)>, ) { + puffin::profile_function!(); for (entity_id, cells_written) in cells_written_by_entity { let mut entity = sim.entities.get_mut(&entity_id); let mut should_update_entity = false; @@ -115,19 +117,23 @@ pub fn read_back_entities_from_world( if let Some(entity) = &mut entity && should_update_entity { + puffin::profile_scope!("Recompute collider"); if let Some(new_collider) = entity.compute_collider() { - sim.rb_manager - .physics_manager - .world - .remove_collider(entity.data.collider_h.unwrap()); + { + puffin::profile_scope!("Upsert collider"); + sim.rb_manager + .physics_manager + .world + .remove_collider(entity.data.collider_h.unwrap()); - let new_handle = sim - .rb_manager - .physics_manager - .world - .insert_collider(new_collider, Some(entity.data.rb_h.unwrap())); + let new_handle = sim + .rb_manager + .physics_manager + .world + .insert_collider(new_collider, Some(entity.data.rb_h.unwrap())); - entity.data.collider_h = Some(new_handle); + entity.data.collider_h = Some(new_handle); + } } } } |
