Platform: Rockchip
OS: Android 6.0
Kernel: 3.10.92
系統有很多層layer,Composition就是要需要将不同layer組成一層,然後顯示,如圖:
而compose有兩條路徑:
1. 通過HWC,也就是通過硬體顯示子產品完成,這裡是RGA子產品。
2. 通過GPU,需要傳到DDR再處理,相對會增加功耗。
RK對composition的設定如下:
[email protected]:/ $ 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