1.界面卡顿原因
(1)图像显示的原理:收到一个Vsync信号 ,系统就会利用CADisplayLink通知系统。CPU计算好显示的内容(视图的创建、布局计算、图片解码、文本绘制),然后提交给GPU进行(变换、合成、渲染),GPU提交给帧缓存区。等待下一个信号出现显示到屏幕
(2)界面卡顿:如果第一个Vsync信号的过程中,CPU或者GPU没有完成内容提交,则那一帧就会被丢弃。这样界面上没有及时替换,出现了丢帧,界面卡顿。
2.CPU与GUP
(1)CPU:加载资源,对象创建,对象调整,对象销毁,布局计算,Autolayout,文本计算,文本渲染,图片的解码, 图像的绘制(Core Graphics)
(2)GPU是一个专门为图形高并发计算而量身定做的处理单元,比CPU使用更少的电来完成工作并且GPU的浮点计算能力要超出CPU很多。
3.图像显示的缓存机制(双缓冲机制)
(1)GPU会预先渲染好一帧放入一个缓冲区内(前帧缓存)
(2)下一帧渲染好后,GPU会直接把视频控制器的指针指向第二个缓冲器(后帧缓存)
(3)再切下一帧 最开始的前帧缓存变成了后帧缓存。交替切换。
网友评论