我正在努力更好地理解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 vsync surfaceflinger android-4.4-kitkat android-5.0-lollipop