Problems with performance in our application
Posted: Wed Jan 22, 2014 7:25 am
Hello,
We have some problems with performance in our application.
Here is the thing:
Our application simulates movement of rail vehicles (train-like).
We have decided to use Prismatic-Joints, to imitate vehicle-on-the-rail behaviour.
Our vehicles are bendable. Per vehicle we use 4 prismatic joints (to mount it to rail) and about 10 box or sphere entities (there are needed).
Than we use 6 SwiveHinge joints to assemble vehicle in the way we need.
Thanks to bepu mlutithreading (parallel looper), we can easily work with 200 vehicles, that means 800 prismatic joints, 1200
swive hinge joints and about 2000 entities. We need some other boxes inside application, so final entitiy count can be near 3000.
We care about switching collision modes as needed. Some entities are permanently set to NoBroadPhase.
We care abour maximum interation limit in solver. We tried even values 3,2,1. With no big effect.
(with value 1 joints started to fail - of course
).
We tried to set joints and entites that are not needed in the moment (about 80% elements) as not active (IsActive flag), wih no effect.
I am starting to affraid, that bottleneck is simply amount of elements, joints, enetites, in the simulation.
Does not matter how simple or inactive we make them, its just too many of them.
Is there some other space for optimization please? Or is my afraid right?
Maybe we forgot or dont know something, if there is some way please help.
Thanks a lot!!
PS: Bepu is a brilliant peace of work. Norbo rocks!
We have some problems with performance in our application.
Here is the thing:
Our application simulates movement of rail vehicles (train-like).
We have decided to use Prismatic-Joints, to imitate vehicle-on-the-rail behaviour.
Our vehicles are bendable. Per vehicle we use 4 prismatic joints (to mount it to rail) and about 10 box or sphere entities (there are needed).
Than we use 6 SwiveHinge joints to assemble vehicle in the way we need.
Thanks to bepu mlutithreading (parallel looper), we can easily work with 200 vehicles, that means 800 prismatic joints, 1200
swive hinge joints and about 2000 entities. We need some other boxes inside application, so final entitiy count can be near 3000.
We care about switching collision modes as needed. Some entities are permanently set to NoBroadPhase.
We care abour maximum interation limit in solver. We tried even values 3,2,1. With no big effect.
(with value 1 joints started to fail - of course

We tried to set joints and entites that are not needed in the moment (about 80% elements) as not active (IsActive flag), wih no effect.
I am starting to affraid, that bottleneck is simply amount of elements, joints, enetites, in the simulation.
Does not matter how simple or inactive we make them, its just too many of them.
Is there some other space for optimization please? Or is my afraid right?
Maybe we forgot or dont know something, if there is some way please help.

Thanks a lot!!
PS: Bepu is a brilliant peace of work. Norbo rocks!
