Collision system optimizations.

Having worked with the built-in collision system I’ve discovered some things that really bog down the collision system.

For example:

Most people know that you should keep the number of “from” objects as low as possible.

For some applications this may be possible, for others, it won’t be. In such cases it is important to keep the number of actual collisions low. You don’t want to have a system where you have a large number of collision solids in contact with each other all the time. This may require you to decrease the size of the collision solids.

This concept is important (this can mean the difference between 1 fps and 60 fps) but I don’t see reference it in the manual. Should it be added?

i would like to add this

discourse.panda3d.org/viewtopic.php … =raytaller

by difference between 5fps and 60fps

We could write several pages about things to do and not to do for good collision performance. This tip is just one of many.

To write all this would be, of course, a substantial effort. Should we get started with this first tip? Maybe. But one of the biggest problems I have with wikis is they tend to devolve into a list of “if you have this particular problem, try this particular solution” with several very specific solutions to very specific problems, but somehow failing to capture the big picture. I worry that this might be a step towards that unhappy situation.

What we really need is someone to volunteer to write the collision performance page(s). This would have to be someone who understands, or is willing to learn, the ins and outs of the collision system and the sorts of things that lead to good performance versus bad performance, and at least a little bit of an understanding why. And it would be nice if this person would then take an ownership of these pages and continue to maintain them as needed in the future.

Would you like to be this person? :slight_smile:

David

I realize that this issue is just one of many. I more just wanted it to be documented somewhere on the forums so that people could recognize this issue if they have similar problems.

My time constraints wouldn’t really let me pour through all the collision system code and the fact that I don’t know C kind of limits my ability to make a comprehensive list of issues.