iOS常识

iOS保持界面流畅

2020-07-04  本文已影响0人  ugpass

参考YYKit作者的博客

CPU和GPU的区别

CPU(中央处理器 Center Processing Unit):是计算机的运算、控制、缓存处理核心,常用来处理复杂的逻辑以及数据结构,CPU中的并行其实是通过时间切片完成的。任务之间依赖性高。

GPU(图形处理器 Graphics Processing Unit):是一种专门处理绘图运算的微型处理器,在OpenGL中使用GLSL语言来驱动,功能单一,由许多计算单元组成,任务之间依赖性低。


UIView和CALayer的联系与区别

UIView和CALayer的联系

UIView和CALayer的区别

图像显示原理

CPU、GPU以及显示器协作完成显示。

  1. 早期的显示是随机扫描显示,扫描时间和图形复杂度有关。

  2. 之后出现了光栅扫描显示,图像组成了像素阵列,从上到下逐行扫描,和图形复杂度无关。

产生卡顿的原因

CPU负责计算显示的内容,如试图创建、布局计算、图片解码、文本绘制等。CPU计算好之后提交到GPU,由GPU进行一系列处理之后提交到帧缓冲区。当接收到Vsync信号,视频控制器从缓冲区中读取数据。如果在一个Vsync时间内,CPU或GPU没有来得及提交下一帧的数据,视频控制器会显示上一帧的,即界面保持不变,这就是卡顿的原因。

解决卡顿的方案待理解补充,YYKit作者的博客写的很详细了。

有理解不当之处,欢迎指正。

上一篇 下一篇

猜你喜欢

热点阅读