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