【发布时间】:2015-01-14 16:31:30
【问题描述】:
我试图更好地了解 Android 显示子系统,但我仍然感到困惑的是 VSYNC 信号是如何处理的,以及为什么一开始存在这么多信号。
Android 设计为在其核心使用 VSYNC,但它使用了多个 VSYNC 信号。通过“VSYNC 偏移”部分中的https://source.android.com/devices/graphics/implement.html,有一个流程图,它描绘了三个 VSYNC 信号:HW_VSYNC_0、VSYNC 和 SF-VSYNC。我知道 HW_VSYNC 用于更新 DispSync 中的时序,应用程序和 Surfaceflinger 使用 VSYNC 和 SF-VSYNC,但为什么这些单独的信号根本是必需的?此外,偏移如何影响这些信号?是否有任何地方的时序图可以更好地解释这一点?
感谢您提供的任何帮助。
【问题讨论】:
标签: android android-5.0-lollipop android-4.4-kitkat vsync surfaceflinger