应用了遮罩的 Box2D 动态物体重叠导致帧率下降

Box2D Dynamic bodies with masks applied overlapping causes frame-rate drop

我有大约六个动态物体,它们设置了碰撞遮罩,因此它们不会发生碰撞,但是当它们在屏幕上重叠任何时间长度时,帧速率会明显下降。这是可以预料的吗?我假设如果设置了掩码,则不会检查它们是否发生碰撞并且认为这不会发生? none 的尸体启用了子弹。

我是 运行 三星 S3 上的游戏

如果body有很多fixtures并且它们在四处移动,这可能是由于动态树被频繁重组。虽然这组特定的固定装置可能被设置为不会相互碰撞,但树仍然会更新以让它们与世界上的其他事物发生碰撞。如果固定装置永远不需要与 任何东西 发生碰撞,那么可以通过将它们的掩码位设置为零并且根本不将它们包含在动态树中来优化它,但我猜这是没有完成,因为拥有一个永远不会与任何东西碰撞的夹具是没有意义的。