【问题标题】:Android display VSYNC signal is highly erraticAndroid 显示 VSYNC 信号高度不稳定
【发布时间】:2017-09-26 14:29:39
【问题描述】:

我正在调查我的 Android 应用中的丢帧现象。它们是不规则的,平均大约每秒发生一次。我已将相关渲染器与一个非常简单的着色器配对,并且我确信帧渲染时间很短。

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

VSYNC-sf 信号无论如何都会继续运行,尽管它偶尔也会翻转,大概是为了恢复同步而拼命尝试。

我的问题:这是预期的行为吗?是什么导致它发生?

【问题讨论】:

  • @fadden 你介意看看这个吗?
  • 可以分享一下生成的文件吗?
  • @azizbekian Stack Trace
  • 您是否尝试过第二个硬件设备?行为是否相同?

标签: android vsync surfaceflinger


【解决方案1】:

虽然我无法准确解释各种同步信号的不稳定行为,但我最终发现,我的潜在卡顿是由操作系统级别的过度功率控制引起的。 CPU 时钟似乎下降了,直到帧渲染时间超过了刷新时间,然后某些东西(可能不相关)将 CPU 时钟踢回了最大值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-19
    • 1970-01-01
    • 2015-06-24
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多