I'm looking for some general pointers in order to optimize the performance of Bullet in my application.
My application consists of a relatively large number (ranging from 10 to 150) flattened btBoxShapes encosed in a room constructed of 5 walls (also flattened btBoxShapes). The items can be thrown around and interact with one another.
In my application, the physics engine definitely seems to be the bottleneck. I am running a physics step about 50 times per second, and in each step I am allowing 3 substeps ( stepSimulation(1.0f/60.0f, 3, 0.33f/60.0f) ). This is quite costly, but from experimentation, this number of iterations seems to be required in order to prevent objects from going through one another (In my case, items going through the walls).
Any ideas for things to try / investigate in order to attempt to reduce the physics load? I am relatively new to Bullet, so any suggestions could be very helpful, even if they seem very obvious

Thanks!