编舞跳帧!多少算太多?

Posted

技术标签:

【中文标题】编舞跳帧!多少算太多?【英文标题】:Choreographer skipped frames! How many is too many? 【发布时间】:2013-11-03 10:31:40 【问题描述】:

有时我会在 logcat 中看到类似的日志条目:

编舞跳过了 35 帧!应用程序可能在其主线程上做了太多工作。

我知道这条消息的含义(例如在这里解释:Meaning of Choreographer messages in Logcat),这个问题与消息的含义无关。

我的问题是:多少跳帧太多了? 有没有任何指导(官方或经验)说大约 50 帧太多而少了可以?即使在速度较慢的设备上,我也没有真正看到任何性能下降。也许我真的不应该仅仅根据这条消息担心性能?

【问题讨论】:

【参考方案1】:

有多少跳过的帧太多了?

根据一些人的说法,1 太多了。

是否有任何指导(官方或经验)说大约 50 太多而更少是可以的?

50 会相当糟糕。每帧 16 毫秒,即您的 UI 冻结的时间为 800 毫秒。用户很有可能注意到这一点(例如,他们尝试点击按钮但没有视觉响应)。

您的 UI 越生动,用户就越有可能注意到丢帧。在相当静态的 UI 上丢帧可能不会被注意到;在用户滚动ListView 时丢帧更容易被注意到。用户对丢帧的敏感程度因用户而异。

也许我真的不应该仅仅根据这条消息担心性能?

恕我直言,你应该这样做。

【讨论】:

我的 UI 在启动 Activity 时跳过了大约 2、3 帧。我没有太多可以优化的地方。但是,如果我看到错过的帧仍然会伤害我。 :(

以上是关于编舞跳帧!多少算太多?的主要内容,如果未能解决你的问题,请参考以下文章

Django:频繁使用包含模板标签 - 多少才算太多?

延时摄影最佳帧数 跟秒数是多少

mysql - 多少列太多了?

多少顶点缓冲区太多了?

多少数据库索引太多了?

JS中有多少Vars太多了? [关闭]