0 前言
《iTOP4412|Android-4.0.3_r1 VSYNC》尚未实现VSYNC机制,而android-4.4.4_r1则已经包含了VSYNC的支持,因此本文对其进行分析。
无论内核、HWC还是SurfaceFlinger主要都以iTOP4412为例进行分析,只是由于iTOP4412的3.0版本内核尚未支持硬件VSYNC,也没有打开ftrace,不便于展示完整的VSYNC效果,因此将Nexus5(使用的都是android-4.4.4_r1)也添加进来作为一个补充。
验证环境:iTOP4412、Nexus5
1 Kernel
根据第2节的分析可知,iTOP4412内核主要通过"/sys/devices/platform/exynos4-fb.0/vsync"节点向上层传递VSYNC事件。可惜的是iTOP4412提供的linux-3.0.15内核尚未实现该节点,也就尚未能用硬件VSYNC。
2 HWC
由参考资料[2]第1.5小节可知,HWC-1.1增加了hot