你好,我是悦创。

最近在设计 Pygame 的有些开发课程,有些扩展知识就放在这篇文章里面。

平时我们看的电影,大都是 24 帧,偶尔有几部大制作电影,帧数才会达到 48 或者 60。那么,为什么电影 24 帧就很流畅,而我们玩电脑游戏就要 60 帧起步才算流畅呢?

这里要先说一下帧的概念。我们经常看到一些动图,就是多张图片连接在一起,从而让人感觉到有动起来的效果。

这个动图里的一张图片,就是一帧。电影里一秒有 24 张图片,帧数就是 24 帧/秒,换成英文也就是 24FPS。电影和游戏里,帧数越高,我们所看到的画面也就越流畅。

但电影和游戏有一个最大的不同:电影是摄像机拍出来的,而游戏是引擎渲染出来的。

一、模糊帧与清晰帧


这是我截取《小丑》电影里的一张图,可以看到,这里小丑的图是模糊的。这种模糊图就叫做模糊帧。

模糊帧的好处是能够记录一段时间内的所有信息。比如说下面的红衣小孩,1 秒内跑了一段距离,而摄像机是 1 秒 1 帧,那么我们就可以在这一帧里看到这 1 秒内小孩所有的运动信息。


电影中所有用摄像机拍出来的画面都是模糊帧,都记录了短时间内运动的所有信息。所以尽管电影 1 秒只有 24 帧,但这 24 帧包含了 1 秒内所有的运动状态和运动信息,我们自然也就觉得很流畅了。

而游戏和电影恰好相反,由引擎渲染的画面全部都是清晰帧,除非你开动态模糊,否则任意时刻截图一定是清晰帧。


清晰帧用来截图当壁纸是很不错的,但它有一个最大的问题就是帧与帧之间的过渡信息丢失了。在游戏里,一帧的时间内,人物从 A 运动到 B,只有 A 点的图和 B 点的图,是没有从 A 到 B 的过程图的。这也就导致了游戏的帧率必须要比电影高很多,才能保证看上去很流畅。

二、帧生成时间

影响流畅度的不仅有清晰帧和模糊帧,还有帧生成时间。

电影里,一秒就是 24 帧,这是固定的,每一帧都是 0.042 的间隔。这个间隔就是帧生成时间,帧生成时间恒定,所以帧与帧之间就很平滑。

而电脑游戏的帧生成时间不是恒定的。在不同的游戏场景里,帧生成时间是不同的。比如你在大雪环境下,0.025 秒生成一帧,那到了森林,可能就要 0.05 秒一帧。从大雪进入森林,帧数就会波动,导致画面看上去不流畅。

三、交互性

电影只是用来看的,那么只需要保证音画同步,我们就不会觉得违和。

但是游戏是用来玩的,所以不仅需要保证音画同步,还需要保证你所有的输入操作都和屏幕实时同步,不然就会被我们的大脑所捕获到,产生违背日常认知的感觉,这种感觉就会让你很难受。

一般来讲,正常情况下,普通人对于游戏画面的响应时间在 100ms 左右,如果我们晃动鼠标,鼠标晃动这个画面在 100ms 内输出到了显示器上,你就不容易察觉不到输入延迟。

而我们的游戏引擎工作原理决定了一件事就是我们的操作必须要 3-5 帧之后才能反馈到屏幕上,如果是 60 帧的画面,操作延迟大概在 70-110ms 左右,你很难察觉,而如果是 24 帧的画面操作延迟就达到了 150-240ms ,如果是 30 帧,那么延迟也在 100-180ms 之间,也就是你的操作反馈到屏幕上会出现滞后的现象,那么这就会违背你的认知,让你非常难受。

所以这里有个结论,就是你的帧数越低,你的操作延迟越高,而很明显 60 帧已经是 100ms 附近的极限值了,也就是说,如果你使用的是 PC 端,那你必须要保证帧数高于60你的鼠标才能在 100ms 之内反馈到屏幕上。

以上就是电脑游戏帧率需要很高的原因了,大家有什么想补充的可以留言哦!

AI悦创·推出辅导班啦,包括「Python 语言辅导班、C++辅导班、算法/数据结构辅导班、少儿编程」,全部都是一对一教学:一对一辅导 + 一对一答疑 + 布置作业 + 项目实践等。QQ、微信在线,随时响应!V:Jiabcdefh

为什么游戏流畅需要60帧,而电影流畅只需要24帧?相关推荐

  1. 为什么游戏帧数一般要到 60 帧每秒才流畅,而过去的大部分电影帧数只有 24 帧每秒却没有不流畅感?

    作者:蔡小帅 链接:https://www.zhihu.com/question/21081976/answer/34748080 虽然电影24FPS也不如60FPS的流畅,但是24FPS不会让人觉得 ...

  2. 流畅度游戏60帧,视频24帧的原因

    流畅度游戏60帧,视频24帧的原因 虽然电影24FPS也不如60FPS的流畅,但是24FPS不会让人觉得卡,甚至12FPS都不会让人觉得卡,而24FPS的游戏能让人很明显的感受到卡,12FPS就是幻灯 ...

  3. 24帧电影实时转60FPS,享受丝般顺滑!

    前段时间分享过一个720p一键转8K的AI视频增强软件Topaz Video Enhance AI. 注: 右边为原视频,左边是放大后. 这个软件可以大幅提升视频的分辨率,同时还会修复视频,有部分视频 ...

  4. 网络同步在游戏历史中的发展变化(二)—— Lockstep与帧同步

    前言: 网络同步属于游戏开发中比较重要且复杂的一部分,但是由于网上的资料内容参差不齐,很多人直接拿别人的结论写文章,导致很多人对这一块的很多概念和理解都是错误的.本文参考了大量的相关论文和资料(三十篇 ...

  5. 计算机自带游戏在哪里打开,今天才知道,原来电脑上自带游戏模式,开启后瞬间提升流畅度...

    原标题:今天才知道,原来电脑上自带游戏模式,开启后瞬间提升流畅度 很多时候我们在玩网络游戏时,电脑就会出现卡顿现象,其实在Win10系统中自带游戏模式,当我们开启游戏模式之后,能瞬间提升游戏的流畅度. ...

  6. Cocos游戏引擎3D特效全新升级 更流畅更炫酷

    好莱坞大片一度是各大院线叫座又叫好的劲爆卖点,其炫酷劲爽的影视特效是尤为重要的一个因素.对于手游来说,精细流畅而又动感十足的特效亦是如此.Cocos 2d-x 3.x从3.4 beta0版本开始开启了 ...

  7. 24帧动画走路分解图_人眼只能分辨24帧?我们来聊聊高刷新率的意义

    想必我们都经常听到这样的说法: 当物体在快速运动时, 人眼所看到的影像消失后,人眼仍能继续保留其影像1/24秒左右的图像,这种现象被称为视觉暂留现象.是人眼具有的一种性质.人眼观看物体时,成像于视网膜 ...

  8. Android性能优化 _ 大图做帧动画卡?优化帧动画之 SurfaceView滑动窗口式帧复用

    (ps:粗斜体表示引导方案逐步进化的关键点) SurfaceView逐帧解析 & 帧复用 简单回顾下上一篇的内容:原生帧动画在播放前解析所有帧,对内存压力大.SurfaceView可以精细地控 ...

  9. #{}不自动改参数类型_pubg pic改120帧下载-PUBG Pic画质助手120帧官方最新版本 v0.8...

    pubg pic改120帧是一款支持修改吃鸡画质,人人都能畅享120帧画面展开流畅吃鸡的软件,超级强大的功能任你使用,自定义不同的参数,也能构建框架运行,根据自己的手机型号适配到不同的参数,超级流畅的 ...

最新文章

  1. 用koa mongodb 做了个简单的博客系统
  2. 二分平均值聚类 java_二分K-均值聚类算法
  3. 前端学习必备之ES6解构赋值的常见用法
  4. uva 1613——K-Graph Oddity
  5. winmail计算机三级,2016年计算机三级网络技术机考模拟题(1)
  6. Angular 项目打包之后,部署到服务器,刷新访问404解决方法
  7. mysql事务操作代码_Mysql中事务的使用【mysql】
  8. 【VS2010学习笔记】【异常处理】一(无法启动此程序,因为计算机中丢失libiconv-2.dll)
  9. 计算机0812是学硕还是专硕,的计算机是专硕还是学硕
  10. 2021-08-27
  11. linux连win7打印机,如何在CentOS 6.5下安装Win7下的共享打印机服务
  12. 机械硬盘如何克隆至固态硬盘,如何把硬盘系统克隆到固态硬盘
  13. linux crontab清理脚本,crontab定时清理日志
  14. 前端开发的流程与规范
  15. table固定列html5,css+js简单实现table固定首行首列
  16. 如何一步步实现异步上传图片并预览图片(异步加载图片)
  17. 头歌实训平台Python
  18. SQLServer MDF文件和LDF文件区别
  19. Android各种问题解决
  20. 用Issue来管理项目!

热门文章

  1. 使用Curl对Kubernetes进行调试!
  2. 取色器插件 react-color ChromePicker
  3. 获取所有节假日及周末
  4. 解决Linux图片加水印(Graphics2D)出现方框的问题
  5. Readme文件写法
  6. 项目需求--将文件(html格式的字符串)转换为MultipartFile格式的文件然后转调第三方接口
  7. firefox非量子版自定义搜索引擎
  8. 人工智能都可以写代码了,程序员怎么做才能不被时代淘汰?
  9. 颗粒物检测仪常用的三种检测方法
  10. Mac上一款最受欢迎的SSH客户端