I don't believe I've ever posted here before (and if so, I must have forgotten, heh) but I'd like to share an idea I had while working on a mobile Java game.
The game is an action game and I've implemented a version of SAP that works really well for mobile. My game "engine"
(as much as several classes can be called an engine) supports game entities in a semi-hierarchical manner. That is,
entities can have child entities that render relative to them. However, in terms of collision detection, everyone is treated
the same as long as they can participate in collisions.
In order to model enemy bosses (relatively large vessels compared to the screen size) I opted to use dummy child entities
that approximate the shape of the boss vessel. The game logic knows what to do when a dummy child entity gets hit
(damage taken to the main vessel) and this works great.
This lead me to the idea that BVH can be replaced with a form of internal SAP, just as BVHs for object culling are less
common than a full blown SAP as a broadphase strategy.
The way it would work is - Triangles that make up an object's geometry will be partitioned and divided to small groups,
each group enclosed by an AABB in the internal SAP. The division can be created by an authoring tool or by an automatic
algorithm. In any case, if another object is detected to overlap the first one in the broadphase, the two objects can
combine all their internal AABBs (each one has a list of AABBs enclosing groups of triangles) into a separate single SAP.
The SAP will then automatically detect all overlapping groups and save us the need to traverse a hierarchy of volumes.
Only those groups that are actually overlapping will have their triangles tested.
I think it would even work better for large objects vs. projectile type of queries, where the entire projectile can be
approximated by one AABB, inserted into the internal SAP. This will yield all groups of triangles possibly colliding with the
projectile.
As I said before - I've used a variation of this in my mobile game and the coldet is working wonderfully. The difference
in my game is that all children that make up a big boss vessel are registered with the main SAP which is the main collision
detection scheme.
Comments and bug reports are welcome

Eli