没有合适的资源?快使用搜索试试~ 我知道了~
display笔记
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![text/x-c](https://img-home.csdnimg.cn/images/20210720083646.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/release/download_crawler_static/89319825/bg1.jpg)
1
目录
一、显示框架介绍.....................................................................................................................................................................6
1.1 显示屏..........................................................................................................................................................................8
1.2 SurfaceFlinger-图形合成者........................................................................................................................................12
1.3 上层绘图....................................................................................................................................................................15
二、 显示系统重点模块流程.................................................................................................................................................15
2.1 Vsync...........................................................................................................................................................................15
2.1.1 Vsync 功能.......................................................................................................................................................16
2.1.2 VSync 代码流程..............................................................................................................................................20
2.1.3 使用 systrace 查看 VSync ...............................................................................................................................23
2.1.4 Vsync Offset.....................................................................................................................................................26
Offset 为 0.......................................................................................................................................................27
Offset 不为 0...................................................................................................................................................28
Offset 的优缺点...............................................................................................................................................29
2.1.5 Android 图形数据流向...................................................................................................................................30
2.2 BufferQueue ................................................................................................................................................................31
2.2.1 Android S 之前框架 ........................................................................................................................................34
2.2.2 Android S 框架 ................................................................................................................................................34
2.3 Fence ...........................................................................................................................................................................42
2.4 HWUI ..........................................................................................................................................................................44
2.4.1 类关系图..........................................................................................................................................................44
2.4.2 RenderThread 等重要对象创建流程..............................................................................................................47
2.4.3 接收 VSync 绘制流程.....................................................................................................................................48
2.4.4 GPU 呈现模式的数据计算和绘制流程.........................................................................................................50
2.4.4.1 数据计算流程......................................................................................................................................50
2.4.4.2 在屏幕上显示条形图代码逻辑..........................................................................................................52
2.4.4.3 在 dumpsys gfxinfo 打印代码逻辑.....................................................................................................55
2.4.5 HWUI 绘制流程在 systrace 中对应的具体时间 ...........................................................................................65
2.5 GPU 合成之 RenderEngineType................................................................................................................................69
2.6 屏幕刷新率.................................................................................................................................................................71
2.6.1 流畅画面功能.................................................................................................................................................77
2.7 ro.surface_flinger.enable_frame_rate_override 属性 .................................................................................................80
2.7.1 SurfaceFlinger 中的系统属性 ........................................................................................................................80
2.7.2 Java 层使用......................................................................................................................................................81
2.7.3 C++层使用.......................................................................................................................................................83
2.8 应用建立和 SurfaceFlinger 的沟通桥梁................................................................................................................84
三、显示上层问题分析方法和工具介绍...............................................................................................................................90
3.1 Android 通用...............................................................................................................................................................90
3.1.1 截屏和录屏.....................................................................................................................................................90
3.1.2 停用 HW 叠加层 ............................................................................................................................................90
3.1.3 使用命令输入滑动事件.................................................................................................................................95
3.1.4 停用应用.........................................................................................................................................................96
3.1.5 显示过度绘制区域..........................................................................................................................................96
3.1.6 GPU 渲染模式分析.........................................................................................................................................97
3.1.6.1 在屏幕上显示为条形图.......................................................................................................................97
![](https://csdnimg.cn/release/download_crawler_static/89319825/bg2.jpg)
2
3.1.6.2 在 adb shell dumpsys gfxinfo 中.........................................................................................................100
3.1.7 设置动画倍速................................................................................................................................................101
3.1.8 去掉锁屏方法...............................................................................................................................................101
3.1.9 显示刷新率...................................................................................................................................................101
3.1.10 MediaInfo .....................................................................................................................................................102
3.1.11 dumpsys SurfaceFlinger...............................................................................................................................103
3.1.12 抓取 GAPID................................................................................................................................................107
12.1 抓取步骤.................................................................................................................................................107
12.2 分析方法.................................................................................................................................................113
3.1.13 抓取 PVRCarbon ........................................................................................................................................115
3.1.14 抓取 RenderDoc..........................................................................................................................................119
安装 RenderDoc..............................................................................................................................................119
抓取 Android 设备的 rdc 文件 ......................................................................................................................120
3.1.15 编译 ASAN 版本.........................................................................................................................................124
ASAN 版本编译方法.....................................................................................................................................126
3.1.16 编译 HWASAN 版本的方法 .....................................................................................................................126
3.1.17 gdb 解析 coredump......................................................................................................................................127
3.1.18 打印 GPU 频率...........................................................................................................................................128
3.1.19 应用打开或关闭 HWUI ..............................................................................................................................128
3.1.20 设置渲染管道..............................................................................................................................................129
3.1.21 抓取 systrace ...............................................................................................................................................130
3.1.22 抓取 kernel log.............................................................................................................................................130
3.1.23 使用 adb 命令设置刷新率 .........................................................................................................................131
3.1.24 dumpsys display ...........................................................................................................................................131
3.1.25 确认 GPU 版本............................................................................................................................................132
3.1.26 adb shell 命令之 service 调试 ....................................................................................................................134
3.1.27 分析 winscope .............................................................................................................................................136
3.1.27.1 抓取方法...........................................................................................................................................136
3.1.27.2 查看 WinScope 文件 ........................................................................................................................137
3.2 MTK..........................................................................................................................................................................138
3.2.1 强制软绘.......................................................................................................................................................138
3.2.2 fake GPU ........................................................................................................................................................138
3.2.3 抓取 BQdump ...............................................................................................................................................139
3.2.4 抓取 PVRTrace .............................................................................................................................................141
3.2.5 FPSGO ...........................................................................................................................................................144
3.2.6 性能问题拉高 CPU/GPU 频率....................................................................................................................145
3.2.7 SurfaceFlinger Hang issue Guide...................................................................................................................145
3.2.8 打开 fence log 开关 ......................................................................................................................................146
3.2.9 ION 占用分析................................................................................................................................................147
3.2.10 查看 gpu memory 讯息...............................................................................................................................147
3.2.11 在 systrace 中打开 GL API .........................................................................................................................148
3.2.12 查看手机的 GPU 版本信息........................................................................................................................150
3.2.13 Driver 显示 Trace ........................................................................................................................................152
3.2.14 抓取 Patrace .................................................................................................................................................152
3.2.15 sf transaction log ..........................................................................................................................................152
3.3 高通..........................................................................................................................................................................153
![](https://csdnimg.cn/release/download_crawler_static/89319825/bg3.jpg)
3
3.3.1 dump layers raw 图 ........................................................................................................................................153
3.3.2 使用 adb 命令拉高 gpu 频率到最大 ...........................................................................................................154
3.3.3 Fake GPU .......................................................................................................................................................155
3.3.4 Enforce CPU rendering by disable hwui........................................................................................................155
3.3.5 高通平台 dump input layers..........................................................................................................................156
3.3.6 高通闪屏&花屏调试方法............................................................................................................................161
3.4 显示相关典型问题分析方法..................................................................................................................................162
3.4.1 花屏...............................................................................................................................................................162
3.4.2 闪屏...............................................................................................................................................................163
3.4.3 黑屏...............................................................................................................................................................165
3.5 展锐...........................................................................................................................................................................166
3.5.1 打开 log 开关.................................................................................................................................................166
3.5.2 抓取图层........................................................................................................................................................166
3.5.3 gsp ..................................................................................................................................................................168
3.5.4 视频相关........................................................................................................................................................168
四、显示相关性能问题分析方法介绍(Systrace 抓取和分析) ........................................................................................168
4.1 Systrace 功能介绍 ....................................................................................................................................................168
4.1.1 系统跟踪概览...............................................................................................................................................168
4.1.2 systrace 介绍..................................................................................................................................................170
4.1.3 Perfetto trace 介绍 .........................................................................................................................................171
4.2 代码中添加 systrace 跟踪举例...............................................................................................................................171
4.3 systrace 和 Perfetto trace 抓取方法..........................................................................................................................174
4.3.1 使用命令行工具抓取....................................................................................................................................174
4.3.1.1 使用 atrace 抓取 ................................................................................................................................174
4.3.1.2 使用 systrace.py 抓取........................................................................................................................176
4.3.2 使用 DDMS 抓取 ..........................................................................................................................................177
4.3.3 使用开发者选项中系统跟踪抓取................................................................................................................178
4.3.4 O 项目使用客户 log 工具抓取.....................................................................................................................180
4.3.5 使用性能的脚本抓取....................................................................................................................................180
4.4 systrace 分析.............................................................................................................................................................182
4.4.1 快捷键使用...................................................................................................................................................182
4.4.2 线程状态查看................................................................................................................................................184
4.4.3 CPU info 解读................................................................................................................................................189
4.4.4 Binder 和锁竞争解读...................................................................................................................................190
4.4.5 界面更新流程 in Systrace ...........................................................................................................................192
4.4.5.1 VSync..................................................................................................................................................192
4.4.5.2 App 送显流程.....................................................................................................................................193
4.4.5.3 视频播放等特殊场景送显分析........................................................................................................196
4.4.5.4 判断掉帧方法....................................................................................................................................198
4.4.6 Input in Systrace.............................................................................................................................................200
4.4.7 systrace 中的 BufferQueue 轮转 ...................................................................................................................203
4.4.7.1 queueBuffer 后 buffer 涨 1 .................................................................................................................203
4.4.7.2 SF 合成后 buffer 减 1.........................................................................................................................209
4.4.8 systrace 中的 fence 信息 ...............................................................................................................................214
4.5 perfetto trace 分析.....................................................................................................................................................219
4.5.1 打开方法........................................................................................................................................................219
![](https://csdnimg.cn/release/download_crawler_static/89319825/bg4.jpg)
4
4.5.2 分析方法........................................................................................................................................................219
五、O 项目显示老化问题分析方法介绍.............................................................................................................................222
5.1 Log 分析步骤 ...........................................................................................................................................................222
5.1.1 kernel_log.......................................................................................................................................................222
5.1.2 main_log.........................................................................................................................................................223
5.1.3 tombstone .......................................................................................................................................................225
5.1.4 crash log .........................................................................................................................................................227
5.1.5 NE/JE DB.......................................................................................................................................................228
5.1.6 dropbox...........................................................................................................................................................230
5.1.7 events_log.......................................................................................................................................................231
5.2 Log 分析工具 ...........................................................................................................................................................232
5.2.1 addr2line.........................................................................................................................................................232
5.2.2 解析 DB(MTK) ........................................................................................................................................233
5.2.3 解压 minidump(高通) ..............................................................................................................................234
5.2.4 asan load.........................................................................................................................................................234
5.2.4.1 ASAN 介绍.........................................................................................................................................234
5.2.4.2 ASAN 打开方法.................................................................................................................................234
5.2.5 HWASAN ......................................................................................................................................................235
5.3 典型踩内存 log 举例...............................................................................................................................................235
5.3.1 Asan 版本复现踩内存--(Aging-test Bugs )2961098 double-free ..............................................................235
5.3.1.1 bug 描述..............................................................................................................................................235
5.3.1.2 分析步骤.............................................................................................................................................235
5.3.1.3 分析结论.............................................................................................................................................239
5.3.2 Asan 版本复现踩内存--(Aging-test Bugs ) 2961891 heap-use-after-free .................................................240
5.3.2.1 bug 描述..............................................................................................................................................240
5.3.2.2 分析步骤............................................................................................................................................240
5.3.2.3 分析结论.............................................................................................................................................248
六、O 客户定制功能介绍.....................................................................................................................................................248
6.1 GIFT..........................................................................................................................................................................248
6.2 屏幕色彩模式...........................................................................................................................................................249
6.3 软件圆角...................................................................................................................................................................251
6.3.1 代码目录........................................................................................................................................................251
6.3.2 流程分析........................................................................................................................................................251
6.4 智能刷新率...............................................................................................................................................................252
6.5 O 项目抓取 SF 和 raw 图的方法.............................................................................................................................257
6.5.1 抓取 SurfaceFlinger 信息 .............................................................................................................................257
6.5.2 抓取单次 SF 和 raw 图 ................................................................................................................................257
6.5.3 抓取连续 SF .................................................................................................................................................259
6.5.4 连续抓取 sf 和图层 raw 图的方法...............................................................................................................260
6.6 打印 screenshot 信息...............................................................................................................................................260
6.7 打开 OplusDisplayPerfService log 开关 .................................................................................................................260
6.8 Log 打印 FPS............................................................................................................................................................260
6.9 确认距离 sensor 是否为 enable 状态方法 ..............................................................................................................261
6.10 打开关闭 DisplayBoost .........................................................................................................................................261
6.11 视频采样问题........................................................................................................................................................261
6.12 SF 内存占用分析 ...................................................................................................................................................263
![](https://csdnimg.cn/release/download_crawler_static/89319825/bg5.jpg)
5
6.13 显示相关 adb 命令 ................................................................................................................................................263
七、Lenovo 定制功能--智能刷新率需求总结.....................................................................................................................263
7.1 需求描述...................................................................................................................................................................263
7.1.1 智能高刷:最大 144Hz 刷新率 ..................................................................................................................264
7.1.2 常规场景:默认刷新率................................................................................................................................264
7.1.3 常规场景:每次刷新率切换的最短时间....................................................................................................264
7.1.4 应用自定义高刷............................................................................................................................................265
7.1.5 自定义省电模式............................................................................................................................................265
7.2 应用自定义高刷功能思路.......................................................................................................................................265
7.2.1 设置中添加 preference ..................................................................................................................................265
7.2.2FWK 方案.......................................................................................................................................................266
7.2.2.1 方案 1..................................................................................................................................................267
7.2.2.2 方案 2.................................................................................................................................................268
7.2.2.3 方案 3.................................................................................................................................................270
7.3 参考配置文件查看代码...........................................................................................................................................271
7.3.1 特殊场景和设备最高刷新率........................................................................................................................271
7.3.2 智能刷新率底层配置....................................................................................................................................271
7.3.3App 配置文档.................................................................................................................................................272
7.3.4 桌面场景........................................................................................................................................................274
7.3.5 跑分场景........................................................................................................................................................275
7.3.6 高帧视频场景................................................................................................................................................276
7.3.7ZuiPP.apk 代码 ...............................................................................................................................................277
Zuiapp_config.xml 的读取配置流程 .............................................................................................................279
otherapp_policy.xml 的读取配置流程...........................................................................................................282
game_policy.xml 的读取配置流程................................................................................................................284
performanceconfig.xml 的读取配置流程 ......................................................................................................286
监控 activity 变化后根据 xml 配置更新应用刷新率过程...........................................................................286
打开 debug log 开关方法...............................................................................................................................292
7.3.8 ZUI 代码中相关 feature 配置 .......................................................................................................................292
7.3.9 特殊笔写情况................................................................................................................................................294
7.3.10 ZuiPerformanceService 启动.......................................................................................................................294
7.3.11 打开 ZuiPerformanceService 的 ZuiLog 命令...........................................................................................295
7.4Peridot 项目修改点 ...................................................................................................................................................295
7.4.1 LGSI 移植后确认 dump 信息.......................................................................................................................295
7.4.2 修改点............................................................................................................................................................296
1.支持的刷新率..............................................................................................................................................298
2.添加配置"RefreshRateManager".................................................................................................................298
3.开机默认为智能刷新率,刷新率为 120...................................................................................................298
4.ZuiPP 无法调用到 setAutoRefresh.............................................................................................................304
5.不同刷新率下常规场景适配......................................................................................................................305
7.5 主要框架流程...........................................................................................................................................................307
参考文档:.............................................................................................................................................................................308
剩余310页未读,继续阅读
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/459cde8b810744da8cf504cdf85202c6_qq_25815655.jpg!1)
学无止境0205
- 粉丝: 145
- 资源: 17
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)