首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android过度延迟读取vsync

Android过度延迟读取vsync
EN

Stack Overflow用户
提问于 2015-11-20 13:52:46
回答 1查看 1K关注 0票数 0

我正在使用libgdx制作一个android游戏。我注意到,在打了一段时间之后,比如说5-10分钟,我偶尔会突然出现一个无法解释的fps延迟。我从60-61到40,35,25,27等等。在logcat中显示的错误是:

代码语言:javascript
复制
  W/qdhwcomposer(209): Excessive delay reading vsync: took 47 ms
  W/qdhwcomposer(209): Excessive delay reading vsync: took 35 ms
  etc.

它持续大约30秒,长达几分钟,非常恼人。在那之后,它恢复了,我仍然得到了大约60英尺。我已经剖析了我的游戏,没有戴尔维克记忆回收。因此,延迟是100%不是由内存泄漏造成的。有没有人找到解决办法或经历过这个问题?

EN

回答 1

Stack Overflow用户

发布于 2015-11-20 14:47:42

我还没有开发任何游戏,所以不太熟悉VSync的主题。然而,我认为可能会出现以下三个原因:

  1. 在您的代码或资产中存在一个问题。例如,对于在5-10分钟后分配的许多对象,或在该时刻显示的特定“重”级别部分/效果。如果您积极使用触摸屏,可能会因为大量的MotionEvent存储在操作系统的队列中等待处理而出现问题。
  2. 有一个背景ServiceBroadcastReceiver,它通过计时器在设备上运行。它可能会在UI线程上执行繁重的任务,从而导致延迟。
  3. 设备硬件出于某种原因认为你不需要太多,它的电源和低频率的GPU/CPU或两者兼而有之。这是固件或硬件问题。您可以启用设备开发人员设置中的性能监视器来检查。

也可以查看主题。它提供了有关如何监视UI性能的信息,包括每个阶段的帧处理。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33828410

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档