Quick physics perf fix

This commit is contained in:
Imbris 2021-04-21 13:38:56 -04:00
parent 46b452d6a5
commit 51c0f8733c

View File

@ -315,6 +315,19 @@ impl<'a> PhysicsData<'a> {
projectile,
char_state_maybe,
)| {
let mut entity_entity_collision_checks = 0;
let mut entity_entity_collisions = 0;
// TODO: quick fix for bad performance at extrememly high velocities
// use oriented rectangles at some threshold of displacement/radius
// to query the spatial grid and limit max displacement per tick somehow
if previous_cache.collision_boundary > 128.0 {
return PhysicsMetrics {
entity_entity_collision_checks,
entity_entity_collisions,
};
}
let z_limits = calc_z_limit(char_state_maybe, collider);
// Resets touch_entities in physics
@ -324,9 +337,6 @@ impl<'a> PhysicsData<'a> {
let mut vel_delta = Vec3::zero();
let mut entity_entity_collision_checks = 0;
let mut entity_entity_collisions = 0;
let query_center = previous_cache.center.xy();
let query_radius = previous_cache.collision_boundary;