美文网首页
关于屏幕卡顿原理及其解决方案

关于屏幕卡顿原理及其解决方案

作者: 简单Timor | 来源:发表于2020-07-05 12:25 被阅读0次

图片在屏幕上成像的过程

截屏2020-07-05 上午10.35.10.png
- 过程:GPU进行渲染->帧缓存区里(显存)->视频控制器->读取帧缓存区信息(位图)-> 数模转化(数字信号->模拟信号)->显示(逐行扫描)。
  • 解释:
    - GPU渲染,相对于上图中显示处理器位置,将内容处理成位图。
    - 经过显示处理器后,会将相关的颜色值等内容保存在帧缓存区中。
    - 再由显示控制器读取帧缓存区信息(位图)。
    - 最后,数模转化,从最左侧顶部开始逐行扫描到屏幕上进行显示。如下图 截屏2020-07-05 上午10.46.44.png

完美情况

人肉眼对于超过连贯16帧的图像显示时,会判断为连贯的动图。
所以在上述流程执行时理想情况下,每秒执行为60fps,每扫描一张图->显示一张图,不断刷新,人不会感觉卡顿现象。那为什么会出现屏幕撕裂的现象呢?我们接着看。

屏幕撕裂
截屏2020-07-05 上午10.54.33.png image.png
- 屏幕撕裂的原因:
如前面讲的,屏幕扫描是逐行从上到下的显示过程。当
帧缓存区(旧的数据)->显示屏幕->帧缓存区(下一帧数据)->显示屏幕。如果未能及时更新,则就会这种新旧数据在一起显示的情况。也就是屏幕撕裂的原因。
截屏2020-07-05 上午11.42.52.png
解决方案
  • 苹果解决方案: 垂直同步Vsync + 双缓存区 DoubleBuffering(此方案官方宣称会一直使用)

  • 垂直同步:在帧缓存区加锁防止出现撕裂的情况。

  • 双缓存区 :

    截屏2020-07-05 上午11.53.28.png
    撕裂:出现原因是因为CPU/GPU计算时的时间差。
    双缓存区就是第一个结果放于第一个缓存区,新来的就存于第二个缓存区,交替处理。从根本上杜绝撕裂。
  • 掉帧: 在解决撕裂时,出现的新问题-掉帧,重复渲染同一帧数据。
    接收Vsync,CPU/GPU图片数据(速度问题)->拿不到 FrameBuffer ->掉帧(重复渲染统一帧数据)

  • 掉帧解决方案:
    三缓冲区:在CPU/GPU闲置时间,A显示屏幕,B也渲染好。但是 三缓存区也有可能出现掉帧,概率极低。

屏幕卡顿原因:

    1. CPU/GPU 渲染流水线耗时过长 ->掉帧。
    1. 为了解决撕裂问题,采用垂直同步Vsync + 双缓冲区DoubleBuffering 方法 以掉帧为代价解决屏幕撕裂的问题。
    1. 三缓存区合理使用减少掉帧次数。

相关文章

  • 关于屏幕卡顿原理及其解决方案

    图片在屏幕上成像的过程 GPU进行渲染->帧缓存区里(显存)->视频控制器->读取帧缓存区信息(位图)-> 数模转...

  • android 性能优化

    1,app卡顿的原理,以及针对界面切换卡顿和屏幕滑动卡顿提出典型的解决思路 卡顿原理: 1)大多数手机的屏幕...

  • 性能优化

    1、应用卡顿的原理,以及针对界面切换卡顿和屏幕滑动卡顿提出典型的解决思路 卡顿原理: 1)大多数手机的屏幕刷新频率...

  • 性能优化:屏幕卡顿优化

    一、屏幕成像原理及屏幕卡顿原因二、屏幕卡顿优化三、定量监测屏幕FPS四、定位卡顿效果五、定位耗时代码六、果然好客服...

  • 性能优化

    面试题 CPU和GPU 屏幕成像原理 卡顿产生的原因 卡顿优化 - CPU 卡顿优化 - GPU 离屏渲染 卡顿检...

  • IOS屏幕卡顿原理

    屏幕撕裂 iOS设备保证画面流畅性需要尽量保持在60fps,即每秒需要更新60帧的画面,那么一帧画面就需要GPU和...

  • iOS界面优化的技巧

    转载自:iOS 保持界面流畅的技巧 屏幕显示图像的原理 卡顿产生的原因和解决方案 从上面的图中可以看到,CPU 和...

  • Objective - C 性能优化(一)卡顿产生原因及避免

    关于性能优化之卡顿产生原因,就不得不先理解屏幕成像原理 一、CPU 、GPU 在屏幕成像过程中,CPU和GPU起着...

  • 屏幕显示图像解析及屏幕卡顿现象

    在了解屏幕卡顿现象之前,我们先来了解一下屏幕显示图像的原理。 屏幕显示图像的原理 首先从过去的 CRT 显示器原理...

  • iOS面试题--页面卡顿原因以及如何解决卡顿

    一、CPU 和GPU 整体流程如下 二、屏幕成像原理 三、页面卡顿的原因 四、解决卡顿的思路 五、优化方案 a.卡...

网友评论

      本文标题:关于屏幕卡顿原理及其解决方案

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