[RK3288][Android6.0] Display中的Composition机制

来源:互联网 发布:福建广电网络爱家app 编辑:程序博客网 时间:2024/06/06 19:23
Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92

系统有很多层layer,Composition就是要需要将不同layer组成一层,然后显示,如图:




而compose有两条路径:

1. 通过HWC,也就是通过硬件显示模块完成,这里是RGA模块。
2. 通过GPU,需要传到DDR再处理,相对会增加功耗。

RK对composition的设置如下:
shell@rk3288:/ $ getprop | grep hwc
[sys.ghwc.version]: [2.10-3288-MID-version:ce2090f+2017-05-18 17:31:00]

[sys.hwc.compose_policy]: [6]

默认值6表示使用HWC去做composition.如果是想用GPU做合成,那么可以设置 sys.hwc.compose_policy=0

注意: 通过setprop sys.hwc.compose_policy 0 重启之后会无效,可以通过直接修改build.prop来实现。

对于无法通过log定位的UI显示异常(游戏直接用的是GPU),就可以通过切换合成方式来确定是否是合成(HWC或者GPU)引起的。

参考:
http://tieba.baidu.com/p/3423131047
http://blog.csdn.net/alien75/article/details/39290109
https://source.android.com/devices/graphics/arch-sf-hwc