I am currently trying to realize character movement on iOS devices using bullet. I am using a collission mesh with about 20k vertices as btBvhTriangleMeshShape and have up 10 characters active at a time. I initially wanted to use the kinematic character controller which is part of the bullet source, but it seems as if jumping isn´t really implemented yet and the bigger problem is that it is slow. With slow, I mean something like 300ms per 7 update steps on iPad2. A big optimization was to early out if a character didn´t really move, but that also isn´t really a good solution as I somehow managed to make the onGround check dependent on itself. What I just want is something where I can put in some movement direction and speed including gravity/jumping, which then will move my characters accordingly. I would probably do the intersection test seperately for the xz movement and the y movement. What I would love to know is, if the kinematic approach is the right way to go or if a rigid body based character controller could actually be maybe less stable, but quite a bit faster in the end.
Some hints on what I should and shouldn´t do would also be great

.
I just don´t have any deeper experience with physics simulation than throwing and grapping boxes, yet.
Thanks.