Comments (3)
Hi, I am also seeing poor performance with colliders. In my case I do have many many colliders at a time, but when I scale down I do not see the expected performance improvement.
Is it possible to further parallelize collect_collisions
? When I run a trace, I see the initialization run in a task pool but collect_collisions
always appears in the main thread (I suppose Bevy/Rayon could be deciding this is best). I see it is using par_splat_map
but for some reason it is not chopping up chunks into threads for me--it does it all at once in the main thread.
I was not tracing properly.
from bevy_xpbd.
Another thing I found: If I spawn a bunch of colliders, check some collisions, and remove layer filters until the only remaining filters are ones without any collider memberships, then I don't get any performance back. The performance indicates that it calculates the same collisions regardless of filters.
from bevy_xpbd.
Another idea (from Rapier): there should be an option to skip computing contact points (just collisions) for some colliders (i.e. sensors). It would also be a nice optimization to skip recomputing collisions if at least one of the objects is a sensor and has not moved since the last computation.
from bevy_xpbd.
Related Issues (20)
- Performance - Time to optimise? HOT 1
- Phys-bones / Dynamic Bones / Spring bones
- CollisionLayers modifiers look like in-place but are not.
- Add `AsyncSceneCombinedCollider` HOT 2
- Enabling `default-collider` without parry renders 34 compilation errors
- [Bug]: (0.4.0) Can't compile with specific crate features enabled
- [0.4.1] Colliders are initialized with wrong transform HOT 1
- Panic when running `ray_caster` example on macOS HOT 1
- inverted sign wastes hours of girls life HOT 3
- xpbd collider gen 😄 HOT 3
- issues with 2D heightfield collider HOT 1
- Rebrand Bevy XPBD and Switch Solvers HOT 2
- CollisionEnded event not sent if collider is removed in the frame following the collision start
- RayHitData not providing enough information when hitting compound colliders HOT 1
- Panic in `debug_render_axes` HOT 2
- Cylinder collider getting stuck on ledges when dropping off of them
- Rigidbodies never sleep HOT 1
- Documentation improvements for basic setup and scheduling
- 2D physics in XZ plane
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from bevy_xpbd.