美文网首页
Instrument调试界面卡顿

Instrument调试界面卡顿

作者: passionCai | 来源:发表于2017-05-11 17:51 被阅读0次

1. 界面卡顿的原因。主要从两个角度考虑,cpu限制—》对象的创建,释放,属性调整,CALayer的属性调整的时候是会创建隐士动画,是比较损耗性能的;视图和文本的布局计算,AutoLayout的布局计算都是在主线程上的,所以占用CPU时间也很多;文本渲染如UILable和UITextView都是在主线程渲染的;图片的解码,通常UIImage只有在交给GPU之前的一瞬间,CPU才会对其解码。GPU限制—》视图的混合,比如一个界面十几层的视图叠加到一起,GPU不得不计算每个像素点要显示的像素;离屏渲染如视图的Mask,圆角,阴影。半透明,GPU不得不进行数学计算,如果是不透明的,cpu只需取上层的就可以了;浮点数像素

2. 界面显示的原理:iOS设备通常是60fps(每秒60帧),也就是说两帧相隔的时间是1/60秒。大概16.7ms。为了显示一帧,需要如下工作:*CPU计算好各个视图的位置,大小,对图片进行解码等,绘制成纹理交给GPU,   *GPU对收到的纹理进行混合,顶点变换,渲染到帧缓冲区,每16.7ms,一个时钟信号到达,帧缓冲区取出一帧,显示到屏幕。也就是说,CPU或者GPU被大量占用的时候,都有可能在16.7ms中没法办法完成一帧的绘制,导致信号到来的时候,取得还是上一帧的内容,也就都有可能导致界面卡顿。

3. 离屏渲染:在iOS中,渲染通常分为CPU和GPU渲染两种,而GPU渲染又分为在GPU缓冲区和非GPU缓冲区两种。*CPU渲染(软件渲染),CPU绘制成bitmap,交给GPU。 *GPU渲染(硬件渲染)—》GPU缓冲区渲染和非GPU缓冲区渲染(额外开辟缓冲区)。通常CPU渲染和GPU非帧缓冲区渲染统称为离屏渲染。CPU和帧缓冲区是为了图形图像显示做了高度优化的,速度较快。

4. 什么情况下会触发离屏渲染? *用CoreGraphics的CGContext绘制的   *在drawRect中绘制的,即使drawRect是空的  *Layer具有Mask(比如圆角)或者shadow   *Layer的隔栅化shouldRasterize为True,文本(UILable,UITextField,UITextView,CoreText,UITextLayer)

5. 离屏渲染一定会引起性能问题吗?

很少会,比如drawRect这个方法,只会在视图进行重新绘制的时候才会调用,

6.参考链接:http://aes.jypc.org/?p=17291

6. Core Animation链接:https://zsisme.gitbooks.io/ios-/content/chapter12/instruments.html

相关文章

  • Instrument调试界面卡顿

    1. 界面卡顿的原因。主要从两个角度考虑,cpu限制—》对象的创建,释放,属性调整,CALayer的属性调整的时候...

  • iOS性能优化:Instrument 调试界面卡顿

    前言 工欲善其事,必先利其器。Instrument对于iOS开发来说,是发现并且解决问题的一把利器。 本文会用到的...

  • 界面卡顿

    记单词 FPS:Frames Per Second每秒传输帧数。60满帧。每16ms刷新一次屏幕。 VSync:v...

  • iOS RunLoop

    如何检测或者优化app的卡顿?用instrument里面的time profiler自己做一个检测卡顿的小工具?(...

  • iOS - 界面优化

    APP的界面优化 什么样的界面让你觉得需要被优化呢?就是界面会卡顿咯。 下面介绍 卡顿原理 卡顿检测 实战 1、界...

  • 界面优化解析

    前言 我们经常在面试中,会被问及关于界面优化相关的问题,比如为什么界面会出现卡顿?如何监控卡顿?接着如何解决卡顿?...

  • 开始停用简书

    打开界面有广告,体验卡顿

  • 界面卡顿优化

    1.除了UI部分,所有的加载操作都在后台完成。 1.1 文本计算 如果一个界面中包含大量文本,文本的宽高计算会占用...

  • iOS界面优化

    界面优化 本文主要介绍界面卡顿的原理以及优化 界面卡顿 通常来说,计算机中的显示过程是下面这样的,通过CPU、GP...

  • iOS 底层原理:界面优化

    界面优化无非就是解决卡顿问,优化界面流畅度,以下就通过先分析卡顿的原因,然后再介绍具体的优化方案,来分析如何做界面...

网友评论

      本文标题:Instrument调试界面卡顿

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