系列文章请扫关注公众号!
Android Display Graphics系列文章-汇总
Multimedia数据流
结合上一篇文章的显示异常处理,了解常见场景的data path,对于分析问题很有帮助。下面介绍几种常见场景的data flow。由于app写法不一,这里介绍的是最常见的,如遇复杂场景,可以通过抓取systrace了解其flow。
1、普通UI的数据流
普通UI 的flow 很简单,一般情况下硬件加速都默认开启,所以大部分UI都是通过GPU 绘制后给surfaceflinger 合成。如果关掉硬件加速,会推给CPU skia 绘制,遇到这种问题,根据上一篇文章知道流程,即可知道哪个模块有问题。
- Video播放的数据流
Video 播放的数据流分为两种类型,surfacetexture和surfaceview。
除了做BQ Dump,也可以dump decode output 直接看给surfacefliger或者GPU的surfacetexture是否正常。如果有过MDP,也可以看MDP input 和 output 是否正常。Dump的方法不同平台和android 版本不同,可咨询相应的onwer。
i.Surfaceview
ii.Surfacetexure
3、Camera数据流
Camera 场景同video,preview data 分surfacetexture和surfaceview。如video场景一样,如果不抓BQ dump,可抓camera output 看camera送出来的数据是否正常。注意:camera output 是已经过了MDP以后的数据。
详情关注微信公众号
Android Display Graphics系列文章-汇总