-
-
Notifications
You must be signed in to change notification settings - Fork 265
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Possible Performance Bug on Physics::step, specifically Query::update_incremental #466
Comments
We're also running into this issue. In our case, When we downgrade the game to rapier3d 0.15.0 with the same game, this issue disappears. Could this be related to dimforge/parry#136? Both issues came about around the same time for us. |
I was able to fix this regression by changing I've published this change to a fork available here: https://github.com/SecondHalfGames/rapier/tree/update-not-incremental index 358efed..9301408 100644
--- a/src/pipeline/physics_pipeline.rs
+++ b/src/pipeline/physics_pipeline.rs
@@ -489,7 +489,7 @@ impl PhysicsPipeline {
);
if let Some(queries) = query_pipeline.as_deref_mut() {
- queries.update_incremental(colliders, &modified_colliders, &removed_colliders, false);
+ queries.update(bodies, colliders);
}
self.clear_modified_colliders(colliders, &mut modified_colliders); |
More context as we've investigated this: using Here is our kinematic character controller interacting with a table in our game, using rapier3d 0.17.2: cyrtanthus-desktop_0faIMXrekH.mp4And here is the exact same code and scene, but on rapier3d master + our patch above: cyrtanthus-desktop_qmGWdxCJaH.mp4As you can see, something about using We're in kind of a tough spot with this issue. rapier3d 0.15.0 works but is missing a few features that we need. rapier3d 0.17.2 has this performance regression, which is a show-stopper for us. Our patch fixes the performance issues but creates new problems. Is there any information (or funding) we can provide to help track down this issue sooner than later? Thanks! |
Last update on this! Passing |
This definitely indicates a bug in |
in rapier3d 0.17.2, i was having a bug that slows down my game state from 120fps + to 30 fps (the same effect as a memory leak, it keeps lowering down)
When i set the step with Some(&mut self.query_pipeline), instead of manually updating the query_pipeline.
It could be possibly because the ::step uses Query::update_incremental instead of Query::update, and there might be a bug related to update_incremental.
The text was updated successfully, but these errors were encountered: