2016-06-20 126 views
1

如果我在屏幕上绘制大约300个精灵,老式手机的工作速度是60 fps吗?只有玩家才能检查碰撞!对于较旧的手机它可以正常工作吗?Libgdx - 最大精灵

+0

这是一个普遍的问题。你能提供关于你游戏的更多细节吗? –

+0

就是这样!我有用小圆圈制作的游戏对象,每个画面上大约有300个圆圈,如果它们与玩家重叠,那么每个画面都会有300个碰撞检查!这就是每一帧都会发生的一切。由于这么多精灵会老的手机会遇到任何lagg? –

回答

3

其实对于旧的设备没有灵丹妙药,也300圆是太多了图纸,但这里是提高性能的一些常见的技巧:

  1. 使用Object Pooling
  2. 不要使用batch.begin()batch.end()太经常在你的渲染循环中。
  3. 请勿为不在视口(屏幕)中的圆圈绘制或(可能)检查碰撞。
  4. 请勿在渲染循环中创建新纹理/精灵。
  5. 使用Texture Atlas,同样你不需要300纹理绘制所有圈子。您可以为多个圆圈使用相同的纹理区域。
  6. 使用Android Monitor分析您的游戏。
  7. 看看android pref tips
  8. 不要使用Android模拟器来测试你的游戏:)
  9. 精灵的最大数量在一个批次是5460
  10. 看看performance tuning雪碧批量
+0

1:完成,2:最大2通话,3:完成,4:从不,5:完成,我也在旋转大部分精灵,所以花费更多。另外在极少数情况下,最大值为250,但在150-200左右。所以我应该没事? –

+0

是的,它似乎很好 –

+0

@SaeedMasoumi你写了“300圈太多了”,你是不是说“不是”? – Reloecc