我正在调查我的 Android 应用程序中的丢帧现象。它们是不规则的,平均大约每秒发生一次。我已将相关渲染器与一个非常简单的着色器配对,并且我确信帧渲染时间很短。
当我运行 systrace 时,我可以看到丢帧的样子,但原因似乎是 HW_VSYNC_0 信号偶尔无法翻转(即它在半个周期内保持在 0 或 1)。我的理解(来自这个答案)是这个时钟来自显示硬件,因此应该是常规的。
VSYNC-sf 信号无论如何都会继续进行,尽管它偶尔也会翻转,大概是为了恢复同步而拼命尝试。
我的问题:这是预期的行为,是什么导致它发生?