为什么24帧电影很顺畅30帧的电影没法玩了,为什么电影30帧比24帧流畅
让几张显示着不同时间的钟表图片依次出现,并且不断加快速度,你就能看见指针在飞速旋转!这个现象叫做似动现象。
似动现象
正是因为人类是觉得这两个特点电影和游戏才能骗过我们的眼睛,用静态的图片模拟出动态的效果,我们常说的帧数指的就是在一秒钟内快速出现的静态图片的数量。
一般来说每秒钟帧数越高,画面就越接近现实,也会越流畅,不过为什么电影只需要24帧就能流
让一张小鸟的图片和一张笼子的图片交替出现,并且不断加快速度,你就能看见小鸟被关在笼子里的画面,这个现象叫做视觉暂留。
让几张显示着不同时间的钟表图片依次出现,并且不断加快速度,你就能看见指针在飞速旋转!这个现象叫做似动现象。
似动现象
正是因为人类是觉得这两个特点电影和游戏才能骗过我们的眼睛,用静态的图片模拟出动态的效果,我们常说的帧数指的就是在一秒钟内快速出现的静态图片的数量。
一般来说每秒钟帧数越高,画面就越接近现实,也会越流畅,不过为什么电影只需要24帧就能流畅观看,而电子游戏就算达到30帧也会卡到你崩溃呢?
2009年印第安纳大学的一项研究发现,普通人对帧数的分辨极限大约是在50到60帧,超过这个值,人眼就往往很难分辨出帧数的差别了,同时对少于60帧的画面人眼也不会太挑剔,一般十几帧的画面就足够让多数人感觉到画面在动了,这段时长两秒的短片是人类历史上的第一部电影!它由24幅图片连续播放而成,也就是每秒12帧。
虽然卡顿但你还是能看出人物的运动过程。130年后,如今的电影以24针为主,其实只是把帧数翻了一倍就已经可以实现非常流畅的观影体验了。如果你暂停电影会发现绝大部分画面都是模糊的,这是因为电影中的每一帧画面都是由摄像机快门曝光1/24秒形成的图片,也就是说这1/24秒里所有的信息都被记录这一针上。由于画面是模糊的,你会误以为自己没有看清楚这些画面,于是就产生了和视觉暂留一样的错觉,这时候你的大脑就被欺骗了。
但游戏的原理就不同了,游戏画面是通过引擎实时渲染的,由此产生的每一帧都是某一瞬间的静止图片,但两帧之间的位移信息并不会出现在你的屏幕上,所以就算每一帧图片都很清晰,只要帧与帧之间的不连贯被你看出来,你就很难在脑补出这两帧之间的动态变化。
玩游戏觉得画面太卡也是这个原因。总而言之,电影和游戏的一大区别就在于电影里的每秒24帧是包含了一秒内所有外面信息的24张图片,而游戏里的30帧只是一秒之内相互独立的30个瞬间的图片,这个区别就导致电影画面更接近人眼的真实视觉过程,而游戏画面虽然帧数更高,但是在观感上却往往不如电影流畅。
为了弥补游戏的缺点,很多游戏厂商还会在设置里面提供一项动态模糊功能,也就是给每一帧图片添加模糊效果,模拟出像电影一样的动态观感,在游戏帧数较低的时候打开动态模糊就能在一定程度上减轻卡顿感。但即便如此,游戏还是很难达到电影的流畅度,这和游戏画面的生成方式有关,在电影的时间线上若干帧画面是均匀分布的,每隔1/24秒就会切换到下一帧的画面,但游戏很难做到这一点,因为游戏不光要看,更重要的是要玩,也就是交互。你看见的每一个游戏画面都需要经过你的操作,显卡的计算和渲染,再由显示器刷新才能最终呈现出来!在不同的游戏场景和操作下,显卡渲染每一帧画面需要的时间也不相同。即便显卡在一秒内完成了60张图片的渲染,达到了60帧的标准,这60帧也不一定是均匀分布的,很有可能某一帧画面比较复杂,它就会占据整整1/10秒,那么这期间画面静止不动。
让你觉得一整段画面都很卡,受限于游戏画面生成复杂性,游戏厂商甚至还会自废武功,故意降低帧数,理论上游戏帧数是由显卡计算速度决定的,但实际上玩家在屏幕上真正看见的帧数却是有显示器的刷新率决定的。如果显卡在1/60秒的时间里渲染了两张图片,但显示器的刷新率只有60赫兹,那么这时候显示器就只能把两帧图片强行拼接在一起造成画面撕裂。
为了解决这个问题游戏厂商又提供了另一个选项,也就是所谓的垂直同步,它能打压显卡工作的积极性,让显卡每次渲染完成后必须挂机休息,等待显示器刷新结束在渲染下一张图片。
虽然垂直同步是防止画面撕裂的神器,但他同时也降低了游戏的帧数,成为了游戏卡顿最大的帮凶。如果你在玩游戏的时候想获得像电影一样的流畅体验,那么开启动态模糊和关闭垂直同步,最大程度保证画面帧数往往是一个不错的选择。
为什么个别30帧的视频看起来很卡?
视频播放时卡,与30帧或24基本没有关系。卡的主要原因有以下几个方面:一是视频文件过大,导致系统内存不足而卡。
二是视频编码不规范,造成播放时卡。这时需要用视频格式转换软件,转换一下。
三是所用的视频播放器,支持的视频格式不全。可以换个播放器试试
为什么24帧的电影不卡,60帧的游戏觉得卡
24帧的电影毫无违和感,但30帧,甚至60帧的游戏中也会出现卡顿?这里直接说结论,决定游戏流畅度有4个:动态模糊效果、操作响应、帧率和帧率均匀度,当中以动态模糊最为重要。
动态模糊
动态模糊,是指相机快门慢于物体运动而导致的运动轨迹拖影。3D游戏和电影的重要差别:电影是现实光影的记录,而3D游戏是3D模型形状/位置的实时渲染,前者会有动态模糊,而后者不会。
电影是恒定频率的拍摄的胶卷/数码照片,它可以完整记录一段时间内的光线信息。一般24帧每秒的视频会选取高一倍的1/50秒的快门,可以完整记录半秒的光线信息。而这些“多出来”的丰富图像信息,会像重影一样叠在一起而造成动态模糊/拖影,其原理和“光绘”一样,只是快门不是几秒,而是1/50秒。
在人类大脑中,动态模糊是视觉信息量的一个重要表现,即使实际看到的帧数不够,加入动态模糊的间隔画面也足够我们用来进行脑补,从而实现“流畅”。另外,偏题一下,如果同样的每秒24帧,如果快门速度提高到1/96秒,那胶卷中记录的光线信息只有1/4秒(24*1/96),丢失的光线信息会让模糊效果减弱,这样的电影看起来也是会有卡顿感的。
而游戏则是把这个“快门速度”提升到极致的产物,游戏中的30帧,是游戏引擎生成的30个无限短的瞬间画面,而且这些瞬间无论多快,物体本身都是清晰无比,绝壁不会有模糊效果。如果这时候还以24帧每秒播放,大脑会抗议,这货动得这么快,为什么我还看得那么清楚,完全不科学啊,结果“脑补流畅度画面”过程就无法进行,我们就真的在看播幻灯片了。
要解决这个问题,要不提高取样率,要不就人为增加模糊效果。前者是下面会说到的高帧率方案,而后者就是增加模糊效果欺骗大脑,让它以为自己看到是高信息量的画面(然而模糊效果也很耗资源)。
帧率大小
游戏中的物体如果每秒移动1个像素点,我们或许还能觉得流畅,但如果物体每秒移动10个像素点,那就有明显段落感了。这时候需要提高取样率,把中间缺掉的画面补出来,如果帧数提高到每秒10帧,我们就可以看到接近刚才1秒1个像素点的流畅度了。
通过把每秒24帧的画面,提升到每秒48、甚至60帧,双眼接收到的信息量大到一定程度,就足够用来“脑补”出流畅效果了。虽然最完美的游戏应该是要帧数尽可能地多,那样才是真正模拟现实情况,但对于游戏来说,渲染帧数越多,需要的性能就越高,这个方案的代价太大了。而现在大家公认的是,做到30帧就能完成脑补过程了。
帧率均匀度
然而实际游戏中,30帧照样会时有卡顿,甚至提升到60帧也还是会卡。平时我们撸手机评测的时候,经常两部不同GPU的手机,就算显示的FPS(每秒的帧数)相同,照样也是会有流畅度差异,这是为什么呢?
这里的问题出在了“帧”的精确上。即使之前时间都能30帧以上渲染,但只要有那么几个瞬间跌破30帧,那依旧是卡。理想情况下的30帧每秒,是30帧均匀分布,但实际上有可能前半秒渲染29帧,最后的整整半秒只渲染了1帧。
因为运算能力和画面复杂度的限制(例如从平原中突然有巨大爆炸的画面),前半秒渲染压力小,可以满帧跑。但一到爆炸场景,运算量暴增,来不及渲染,后面帧数就下降了。肉眼虽然对帧数的绝对值不敏感,但明显的帧数变化还是能轻易地察觉的。
很明显平时我们看的FPS(每秒帧数)的精度完全不够用,我们需要把精度,从每秒多少帧,提升到每毫秒多少帧才能精确衡量帧率的稳定性。
响应时间与跟手度
游戏和电影的最大区别是,游戏是需要用户做出动作并对动作进行实时反馈的。除了视觉流畅,我们还需要操作流畅。大家追求60帧高帧率的重要原因,为的就是降低响应时间。我们感知一个动作是否完成,是要机器接受操作信息,并最终反映在下一帧中才算完成。而实际操作中,大多数游戏引擎在接受操作指令后,要3帧间隔才能体现在画面上。
帧数刷新速度越高,我们能感知的操作速度就越快。30帧的游戏,即使忽略操作指令传输速度,每个画面持续33毫秒(1s/30=0.033s),一个操作需要100毫秒(33毫秒*3帧)才能反映在画面上,而60帧的游戏,则只需要50毫秒就能响应过来了。这50毫秒,在游戏中很有可能决定你是爆别人头,还是被人爆头了。
另外,如果出现画面压力太大,机器来不及渲染画面,画面出现掉帧甚至卡顿,我们的操作指令也是会被顺延输入的。效果就是我们几秒前的做的操作,在几秒后才逐一显示在画面上,这就是传说中的卡成翔了……
希望这个回答对你有帮助
文章评论