美文网首页
UI绘制优化

UI绘制优化

作者: 放肆滴微笑 | 来源:发表于2019-11-14 18:41 被阅读0次

CPU和GPU

名称 介绍 作用
CPU 处理器 将 UI 对象转换为一系列多边形和纹理(计算画图的方法,可以理解为通过公式画出的矢量图)
GPU 相当于显卡 将纹理栅格化(将位图画到屏幕上)

60Hz 刷新频率由来

  • 12 fps :由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约 10-12 帧的时候,就会 认为是连贯的
  • 24 fps :有声电影的拍摄及播放帧率均为每秒 24 帧,对一般人而言已算可接受
  • 30 fps :早期的高动态电子游戏,帧率少于每秒 30 帧的话就会显得不连贯,这是因为没有动态模 糊使流畅度降低
  • 60 fps 在与手机交互过程中,如触摸和反馈 60 帧以下人是能感觉出来的。 60 帧以上不能察觉 变化
  • 当帧率低于 60 fps 时感觉的画面的卡顿和迟滞现象

Android 系统每隔 16ms 发出 VSYNC (垂直同步)信号 (1000ms/60=16.66ms) ,触发对 UI 进行渲染, 如果每次渲染都成 功这样就能够达到流畅的画面所需要的 60fps ,为了能够实现 60fps ,这意味着计算渲染的大多数操作都必须 在 16ms 内完成。

卡顿原理分析

当一帧画面渲染时间超过16ms的时候,垂直同步机制会让显示器硬件等待GPU完成栅格化渲染操作,这样会让一帧画面多停留16ms,甚至更多,这样就造成了丢帧,也让用户看起来画面停顿


image.png

16ms所干的2件事情
1、将UI对象转换成一系列多边形和纹理
2、CPU传递数据到GPU

优化方案

1、过渡绘制优化(减少GPU工作量)
位置:开发者选项-->调试GPU过渡渲染-->显示过渡绘制区域

image.png
蓝色:过渡绘制1次
淡绿:过渡绘制2次
淡红:过渡绘制3次
深红:过渡绘制4次及以上
1.1减少背景重复
非业务需要,不要去设置背景
1.2主题中设置背景
1.2.1去掉单个主题设置背景
可以在setContentViewer之前
getWindow().setBackgroundDrawable(null);

1.2.2 去掉所有Activity中主题设置中的属性,直接在style.xml中设置,之后在Activity中单独设置背景

<item name="android:windowBackground">@null</item>

2、 自定义View 使用裁剪 减少空间指间的重合部分
Android7.0 后系统优化,invalidate()方法不在执行测量和布局动作
3、布局优化
3.1减少不必要嵌套
3.2使用merger避免与父容器重复

image.png
可以看层级

总结

  • 布局是否有重复背景
  • 是否可以删除多余布局(容器只有一个子节点容器ScrollView-->LinearLayout)
  • 自定义View是否进行裁剪
  • 尽可能把相同的容器核名merge
  • 能服用代码,用include处理,因为GPU处理过,下次会从缓存中读取

相关文章

  • 性能优化

    Android UI性能优化实战 识别绘制中的性能问题性能优化(二) UI 绘制优化 通过Hierarchy Vi...

  • Android UI性能优化

    Ui性能优化 参考博客:Android UI性能优化实战 识别绘制中的性能问题Android UI性能优化详解 1...

  • UI优化

    UI优化,也就是体验优化 常见优化场景 1) 过渡绘制 2) 布局复杂度 3) 逻辑优化 4) 内存使用优化 UI...

  • Android UI渲染优化

    Android UI渲染优化 1. 过度绘制优化 什么是过度绘制? Overdraw(过度绘制)描述的是屏幕上的某...

  • android性能优化全方面解析(二)

    补昨天UI优化后半段,前半段点开主页就有啦 一 绘制优化 那么什么是绘制优化?绘制优化主要是指View的Ondra...

  • Android App优化

    本篇文章来简单介绍一下App优化的方式。 1、UI优化 UI优化主要是提高UI的绘制效率,包括减少UI层次,提高初...

  • IOS - UIView绘制流程 (displayLayer)(

    性能优化之 UI渲染优化 - 异步渲染 使用displayLayer进行异步绘制

  • 无标题文章

    APP性能优化 UI卡顿优化 View的绘制原理 UI卡顿原理分析 UI卡顿检测分析 BlockCanary原理分...

  • UI绘制优化

    60Hz 刷新频率由来 12 fps :由于人类眼睛的特殊生理结构,如果所看画面之帧率高于每秒约 10-12 帧的...

  • UI绘制优化

    CPU和GPU 名称介绍作用CPU处理器将 UI 对象转换为一系列多边形和纹理(计算画图的方法,可以理解为通过公式...

网友评论

      本文标题:UI绘制优化

      本文链接:https://www.haomeiwen.com/subject/wzprictx.html