HWC是Hardware Composer是缩写,翻译成中文就是硬件作曲家,或者硬件设计者。
在android手机中的开发者模式中就有一个Hardware Composer的开关选项,HWC通常是由显示设备硬件 OEM提供的功能。
Hardware Composer的开关选项
在[009]SurfaceFlinger是什么东西中提到,王老师每天要临摹三个贴纸上房子,小河,山到了一张固定尺寸的白纸上,每天将当天画的美术作品给美术馆,让其展览。有一天王老师回到家和老婆说:“老婆,每天需要临摹,好累啊,尤其那座山,特别难画。”,王老师的老婆说:你傻不傻,你就不会只临摹房子和小河,然后把那座山直接贴上去嘛,反正山和房子,小河也没有任何重叠的部位。王老师说:“老婆,你真的太聪明了。”
看下图
在关闭HWC的情况下,状态栏,当前Activity,导航栏的三个Surface,是通过OpenGL方式合成到FrameBuffer中。
在开启HWC的情况下,状态栏,当前Activity先通过OpenGL方式合成一部分,然后通过HWC合成导航栏的Surface到FrameBuffer中
HWC在SurfaceFlinger的作用
1.提升每一帧画面的合成速度,提升用户界面的流畅度
2.相比OpenGL使用GPU来合成,HWC的合成,相对来说更加省电
HWC是SurfaceFlinger的重要的角色,当然具体的代码肯定更加复杂,比如确定那几个surface可以直接通过HWC合成,这些都是需要大家自己去看代码,但是带着对HWC的理解再去看代码,我相信会更加容易的。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有