-1

我目前正在开发一个小地牢爬虫,因为我在桌面上只有大约 200 fps,所以我真的需要修复我的代码 :)。我的游戏使用一种算法来创建具有不同房间的不同关卡等。因为房间有墙壁,所以我在它们之间循环并创建身体。在 50x50 的地图上,现在有很多物体,所有物体都是同时计算和渲染的 :(。我还使用 Box2d Lights 和 rayhandler 来创建阴影,每个物体都会投射阴影 :)

有没有办法实现截锥体剔除?如果是的话如何:) 任何代码示例?还有其他方法可以提高 body 的 fps 率吗?

感谢您的时间和关注 :)

4

2 回答 2

2

我知道这个问题有点老了。但它似乎是第一次使用 box2d 和/或 libgdx 进行截锥剔除。当我创建了一个教程,我希望在这里发布它,希望未来有需要的人可以使用它

http://erqdev.com/2017/02/26/frustum-culling-with-box2d/

于 2017-03-01T23:02:36.503 回答
0

我认为在您的设置中对性能的最大影响是 box2dlights (但要确保您应该进行一些分析)。Box2dLights 实际上有一个剔除逻辑,它并不完美,但做了一些基本的事情。要提高 box2dlights 的性能,您可以:

  • 减少光线数量
  • 使 RayHandler FBO 更小
  • 将一些灯光设置为 X 射线(不会投射阴影)
  • 减少对象的数量(例如合并小墙块或其他东西)
于 2016-04-01T14:02:08.947 回答