前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >帧率相关摘要

帧率相关摘要

作者头像
鸩书n1
发布2022-11-18 17:17:27
5710
发布2022-11-18 17:17:27
举报
文章被收录于专栏:同步

帧,就是影像动画中最小单位的单幅影像画面,相当于电影胶片上的每一格镜头。一帧就是一幅静止的画面,连续的帧就形成动画,如电视图图像等。

帧率

帧率(每秒帧数),简单地说,就是在1秒钟时间里传输的图片的帧数,也可以理解为图形处理器每秒钟能够刷新几次,通常用fps(Frames Per Second)表示。

一般要求连贯性的话,帧数至少要高于每秒约10至12帧的时候,人眼才会认为是连贯的,此现象叫做“视觉暂留现象”,是由人眼的生物构造决定的。通过这个现象,早期的无声电影通过手摇驱动,将画面快速播放,就能让人感觉在播放完整连续的视频。

在典型的显示系统中,不管是手机还是电脑,一般都涉及到三个部分:

  • CPU,中央处理器。用于计算数据,信息处理。
  • GPU,图形处理器。用于处理图像图形,也就是俗称的显卡。
  • display,显示屏幕。用于展示画面,也就是我们的手机屏幕、电脑显示器。

整个显示过程就是:

  • CPU计算屏幕需要的数据,然后交给GPU。
  • GPU对图像进行处理绘制,然后存到缓存区。
  • display再从这个缓存区读取数据,显示出来。

详细过程:16.6ms一到,系统就发送了VSync信号,然后屏幕会从缓存区获取了新的一帧图像并显示出来,与此同时,CPU也开始了下一帧数据的计算,然后计算好交给GPU,最后放到缓存区,等待下一次VSync信号。

掉帧原因:

1、硬件原因。硬件比较差也就是CPU和GPU计算不给力,导致一帧的数据没准备好,所以掉帧。

2、软件原因。在硬件够用的情况下,App或者游戏的一帧数据计算繁杂,嵌套太多或者图太大,也会导致下一帧数据不能在16.6ms中被准备好,导致掉帧。

3、网络原因。在硬件软件都正常情况下,由于网络波动,CPU的计算数据都没有从网络上获取到,那么肯定会导致CPU数据的准备延迟,最终导致掉帧。

画面撕裂原因:

「逐行扫描」就是说,显示器显示画面是从上到下一行一行显示出来的,只不过是显示得比较快所以肉眼看不出来而已。

1.GPU的fps帧率和显示器display的fps帧率不一致导致。例如:GPU为180fps,而显示器的fps为60。也就是显卡一秒钟产生180张画面,而显示器却只能显示60张。那么第二次显示的时候显示器下面就会显示第二张画面。也就是发生画面撕裂。

所以为了防止这种状况,一般显示系统会加入一个双缓存+垂直同步的概念:

首先,开启垂直同步,就会将GPU的fps限制为和显示器的fps一样。

其次,通过双缓存保证一帧数据的连贯性:1、缓存区backBuffer用于CPU/GPU图形处理。

2、缓冲区区frameBuffer用于显示器显示。

这样分工明确之后,屏幕只会读取framebuffer的内容,是一帧完整的画面。而CPU/GPU计算的新一帧内容会放到backbuffer中,不会影响到framebuffer的内容。

只有当屏幕绘制完一帧内容之后,才会将CPU/GPU计算好的新一帧内容也就是backbuffer内容和framebuffer进行交换。

这样导致掉帧会更严重:原因就是因为在第二个VSync信号来的时候,因为backBuffer被GPU占用,所以CPU无法去开始新一帧的计算。

所以三缓存来了:

1、缓存区backBuffer用于CPU/GPU图形处理 。

2、缓存区TripleBuffer用于CPU/GPU图形处理 。

3、缓存区frameBuffer用于显示器显示。

加入了第三个缓存区,那么在第二个VSync信号来的时候,CPU就可以利用TripleBuffer开始新一帧的计算,而无视正在被GPU占用的backBuffer。

你可以理解为 CPU、GPU、Display每个人都有一个缓存区,这样三个就能同时做自己的事而互不影响,最大化利用每个模块。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-11-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 帧率
  • 掉帧原因:
  • 画面撕裂原因:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档