我正在使用libgdx制作一款安卓游戏。我注意到,经过一段时间说5-10分钟后,偶尔会出现fps突然无法解释的延迟。我从60-61到40,35,25,27等。在logcat中显示的错误是:
W/qdhwcomposer(209): Excessive delay reading vsync: took 47 ms
W/qdhwcomposer(209): Excessive delay reading vsync: took 35 ms
etc.
持续约30秒,持续几分钟,非常烦人。之后它恢复了,我仍然得到大约60帧/秒。我已经描述了我的游戏,并没有dalvik记忆回收。所以滞后是100%不是由内存泄漏引起的。有没有人找到修复或遇到过这个问题?
答案 0 :(得分:1)
我还没有开发任何游戏,所以不太熟悉VSync主题。但是我建议由于3个原因可能会出现滞后:
MotionEvent
存储在操作系统的队列中等待处理而出现问题。Service
或BroadcastReceiver
。它可能会在UI线程上执行繁重的任务,从而导致滞后。 还查看this主题。它提供了有关如何监控UI性能的信息,包括每个阶段的帧处理。