mirror of
https://gitlab.com/veloren/veloren.git
synced 2024-08-30 18:12:32 +00:00
Quick physics perf fix
This commit is contained in:
parent
46b452d6a5
commit
51c0f8733c
@ -315,6 +315,19 @@ impl<'a> PhysicsData<'a> {
|
|||||||
projectile,
|
projectile,
|
||||||
char_state_maybe,
|
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);
|
let z_limits = calc_z_limit(char_state_maybe, collider);
|
||||||
|
|
||||||
// Resets touch_entities in physics
|
// Resets touch_entities in physics
|
||||||
@ -324,9 +337,6 @@ impl<'a> PhysicsData<'a> {
|
|||||||
|
|
||||||
let mut vel_delta = Vec3::zero();
|
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_center = previous_cache.center.xy();
|
||||||
let query_radius = previous_cache.collision_boundary;
|
let query_radius = previous_cache.collision_boundary;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user