Android显示VSYNC信号非常不稳定

时间:2017-09-26 14:29:40

标签: android vsync surfaceflinger

我在Android应用中调查帧丢失。它们是不规则的,平均每秒发生一次。我已将有问题的渲染器与一个非常简单的着色器配对,我确信帧渲染时间很短。

当我运行systrace时,我可以看到看起来像丢帧的情况,但原因似乎是HW_VSYNC_0信号偶尔无法翻转(即它在0或1处停留半个周期)。我的理解(来自this answer)是这个时钟来自显示硬件,因此应该是常规的。

VSYNC-sf信号无论如何都会继续发生,虽然它偶尔会翻转,大概是在拼命想要恢复同步。

我的问题:这是预期的行为以及导致它发生的原因吗?

Screenshot of systrace

1 个答案:

答案 0 :(得分:0)

虽然我无法准确地解释各种同步信号的不稳定行为,但我最终确定我的基础口吃是由操作系统级别的过度强大的功率控制引起的。 CPU时钟似乎逐步降低,直到帧渲染时间超过刷新时间,然后某些东西(可能是无关的)将CPU时钟恢复到最大值。