Android 4.4对VSync机制的一个改进

本文详细介绍了Android 4.4中VSync机制的改进,包括引入VSync Event Model,DispSync类的功能及工作原理,以及如何通过 DispSyncSource 和 EventThread 实现VSync事件的传递和管理,旨在降低SurfaceFlinger与EventThread的耦合并优化电量消耗。
摘要由CSDN通过智能技术生成

Android4.4中,对VSync机制的实现进行了一些修改,但是总体过程还是一样:

1. HWComposer将底层硬件产生的VSync报告给SurfaceFlinger

2. SurfaceFlingerVSync又通知给EventThread线程。

3. EventThread收到VSync事件后,调用相应的回调函数。


总体来看,主要的修改有如下几点:

1. 引入了VSync Event Model,通过该模型,来充当VSync的事件源,它的VSync时间戳当然是基于硬件为参考的,具体实现在DispSync类中,它会周期性的调用注册到这个对象上的回调函数。

2. SurfaceFlinger新定义了一个DispSyncSource类,该类继承自VSyncSourceDispSync::Callback,实现了DispSync::Callback定义的回调接口onDispSyncEvent,在该接口里面,会调用注册到DispSyncSource的回调函数接口VSyncSource::Callback对象,并调用其实现的onVSyncEvent函数接口。

3. EventThread的主要改动是构造函数接受一个VSynSource的智能指针对象,其本身也实现了VSyncSource::Callback接口,即其本身也是一个VSyncSource::Callback对象。因为它会将自己注册给DispSyncSource

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值