为什么电影每秒24帧的谎言只有24帧,但游戏30帧就卡成狗

为什么看电影24桢很流畅,玩游戏24帧就... | 问答 | 问答 | 果壳网 科技有意思
为什么看电影24桢很流畅,玩游戏24帧就觉得帧数偏低感觉卡卡的?
+ 加入我的果篮
技术图书译者,音乐人
秘密主要在于“运动虚化”(motion blur)。电影的24fps,是每1/24秒拍摄一副画面,如果你玩过相机的手动设置,你应该知道如果以1/24秒的快门速度拍摄一个运动的物体会“糊”掉,而正是这样“糊”掉的画面连起来才让我们的眼睛看上去很“流畅”。举个栗子,下面两张截图是从钢铁侠2电影里面截的,钢铁侠快速飞过,无论是钢铁侠本身还是快速运动的背景都是虚化的:那么游戏的24fps是怎么回事呢?游戏画面不是按1/24秒快门拍出来的,而是每一幅画面都是独立渲染出来的,之所以跑成24fps是因为显卡处理能力不够而“丢弃”了其中的一些画面,这样一来每两幅画面之间就不连续了,自然看上去会“卡”。其实不光是电影,动画片里面也有一些快速的动作场面会用到motion blur,不过这就考验绘画技法了,比如这种:
大酒楼员工
我去 打了一堆 全消失了..... ...胶片电影摄影机里面有个玩意 叫做叶子板 它实际上就是快门 叶子板是一个中间可以转的半圆片 整体是镜子材质的 当转到半圆的时候光线被快门反射到取景器里 当转到空位的时候就记录在胶片上 电影摄影机对快门速度称之为度 也就是叶子板的角度 其最大可以打开180度 如果想缩短曝光时间 或者修正因为特殊角度带来的运动模糊失真 可以通过调节叶子板附带的一个90度小板来控制开口... 也就是说电影摄影机默认快门速度是24分之一秒的一半 48分之一秒...... 也在就是说 有一半的内容是记录不到胶片上的 这个具体可以百度叶子板.后来CCD感光的数字电影摄影机 几乎 注意 是几乎把这个事情搞定了 但是ccd也许要读出时间 所以也没法真正到达24分之一秒的快门速度.....不过很接近....至于游戏引擎 如果要计算运动模糊无非两种方法 一种是用采样来模拟 通过对n-1 ,n ,n+1帧进行采样融合来解决问题 不过无形中增加非常多的计算量.....另一种是混的方法 和上面差不多 不过就是将前后两帧半透明 叠加在中间帧上.....不过也增加了不少计算量 如果你不开高特效...... 效果会类似于你在看东西的时候快速眨眼.....
我觉得关键不是运动虚化,因为虽然电影一秒有24帧,但是每帧的曝光时间不一定是1/24秒。就是说实际上曝光时间与帧率的关系在于每帧曝光时间不能长于帧长1/24秒,但也可以很短,这样不一定会有运动虚化的效果。我认为主要是游戏的互动性导致游戏每秒24帧会显得比较卡。电影是被动的,你只要观看就好了,而游戏是主动的,我们的操作会在游戏中反馈回来。而之所以会卡,就是因为我们操作游戏时,游戏的反馈与我们输入的操作之间产生了延时。如果游戏的帧率是24帧,那么最快的反馈也会在1/24秒后出现。而我们其实在操作游戏时就已经期望游戏能够像现实一样立刻给出反馈,但是我们是完全等待了1/24秒后游戏才做出反应。这样的延时看似很短,但是对于互动的操作来说是不可接受的。想想一个乐器演奏者(如果你会玩乐器的话你可能会有更深的体会)按下琴键却没有立刻听到声音,而是比他预计的延时了1/24秒,那么这个音乐家就几乎无法弹琴了——因为演奏者是依靠动作、声音反馈建立的条件反射来弹奏乐曲的(这就是在使用计算机软件效果器弹奏吉他时必须用专门的声卡或者驱动来把延迟降低到1/50秒以下的原因)。或者用我们每个人都熟悉的踩空楼梯的体验来说明预期的反馈与动作是如何配合的:当我们下楼到最后一个台阶,没有注意到下面已经是平地的情况下,迈出了那只打算踩下一个台阶的脚,同时身体各个部分也做出了与下到下一个台阶相配合的动作。但是并不存在下一个台阶,因此你的脚在毫无准备的情况下重重地踏在了地上,而你的肌肉对此也毫无准备,即使脚踏在了地上但是腿部支持走路的一些肌肉仍然是下楼梯的松弛状态。同样,身体其他部分都来不及反应,因此你整个身体都重重地拌了一下,甚至会摔倒。因此,在动作时预计得到反馈的时间和得到怎样的反馈,是我们人类流畅地运动的前提。同样,在游戏中我们也是依赖这种反馈来体验游戏的。当你输入一个动作时,比如在COD里面移动了准星,而电脑实际是在1/24秒甚至更慢(如果帧率是这么慢的话完全有理由相信你的每一个动作都会降低帧率,或者说你的动作在一帧之内都无法反馈)的时间后做出反馈,那么我们的这种条件反射就被中止了,游戏的反馈与现实世界的反馈完全不能对应,感觉起来就很卡。更不用说在这1/24秒之内,你本来要瞄准的人说不定已经躲到掩体后面去了。因此,如果我们是在观看而不是操作游戏的话,24帧也许可以接受,或许有一点卡(因为一楼所说的运动虚化的原因);而如果你去操作游戏的话,24帧就完全不可接受了。PS:大部分动画片是不存在运动虚化这种设定的,但是我们看着依然很流畅。
游戏开发设计师,制作人
我觉得这个问题有两方面:1.注意力的问题。我们来做一些比较:电影:被动接受游戏:主动参与电影:通过画面,灯光和音乐突出希望观众注意的信息游戏:尽管努力地通过画面,灯光和音乐突出希望玩家注意的东西,但是还是在互动的时候还是很难达到效果 (提示这里有敌兵,提示你要走的路在这里)电影:无用信息就不用放出来了游戏:”其实那个石头真的只是个摆设。。“电影:(自家看的时候)按下暂停就可以干别的事儿游戏:“别吵!现在不能暂停!”电影:三小时算是很长的了,看得会累游戏:五个小时就通关的游戏都嫌短…………所以游戏往往比电影更需要我们的注意力。而大家知道,注意力越集中的时候,对于细微时间的反应就越明显。2.游戏类型区别游戏并非各个都要求60帧,很多游戏其实是在30帧下流畅运行的(没听说过固定帧率在24帧的,拿30帧比较接近也可以比较)。一般来说,战略类(比如XCOM未知敌人,植物大战僵尸),速度不快的平台类(比如时空幻境),速度不快第三人称(比如寂静岭),文字冒险(&--废话)都是可以在30帧下保持流畅的,一般玩家不会感觉到卡。但是高速动作类(代表作Shinobi忍),赛车和第一人称往往就因为画面整体的运动速度过快,要求更高的帧数(60)。所以觉得“卡卡的”是这类游戏在30帧才会出现的,只要你不晕3D,找个寂静岭或者Alan Wake这样的慢速第三人称,缩帧在30帧玩的时候,你一点也不会觉得卡。另外,其实有很多iOS和PS2时代的游戏就是稳定在30帧而非60帧运行的。P.S. 稳定的帧数很重要这里的比较是建立在帧数稳定在30的基础上的,如果一个游戏一会儿60,一会儿20,你会感受到前所未有恶心和卡卡卡卡卡卡卡卡卡卡卡卡、卡、卡、卡、kkkkkk……P.S.P Motion Blur有小部分帮助的确,应用了Motion Blur的游戏对玩家“卡”的反应在帧数不足的时候会有好转。没有Motion Blur并且运动激烈的游戏在20帧左右的时候玩家能感觉到明显的跳跃感,而有了Motion Blur之后玩家脑补两帧间空白的能力大大变强,卡的感觉也会淡化很多。但是Motion Blur不是决定性的。有以下两个点大家可以自己尝试验证一下:15帧的高速游戏开Motion Blur,玩家依然觉得很卡(根据玩家的不同可能是10到20帧)稳定30帧的慢速游戏不开Motion Blur,玩家会觉得流畅。(写轮眼就算了……)以上~
逻辑控,旅游爱好者
一句话概括就是:电影的帧记录的是时间段的影像,游戏的帧记录的是时间点的影像。
CS硕士在读
我觉得主要是帧生成时间的问题,显卡不能做到每一帧都以相同的时间生成,比如24帧每秒应当是每一帧都以1/24秒生成,但是假如前23帧在0.1秒内生成了而最后一帧花了0.9秒才生成,这时候就会觉得画面卡顿。同理即使帧率达到50 60帧每秒都会有这个问题。
信息与计算科学学士,算法控,AI爱好者
极品飞车系列有个著名技术叫做“动态模糊”。
石油工程师
我觉得电影看着不卡并不是电影是1/24S拍摄那么简单,只是电影播放时可以保持24帧匀速播放而已。实际上拍过视频的人都知道,虽然生成的视频是1/24s,但是拍的时候是可以控制快门速度的。尤其是现在的单反拍视频,并没有什么叶子板。游戏24帧感觉卡应该是因为游戏画面并不是匀速的。游戏中场景的变化会导致显卡渲染量的剧烈变化,其结果就是画面生成的速度大幅变化,当部分场景在24帧左右时,个别场景会突然降低至1位数的帧率,于是让人感觉画面卡顿。而电影播放时是匀速的,不存在这个问题。
说白了就一句话,电影是匀速24fps的播放速度,但是游戏因为外界影响导致24fps并不是匀速的。可能因为突然的爆炸或者大量的效果导致瞬间计算量加大,导致画面的输出迟缓,造成卡顿。
电影的快门确实是使用快门快门角度来确定的。选择什么快门速度取决于对场景效果的要求,不是说都是固定快门角度的。一楼取得图就是为了表现高富帅飞过去的动感,所以用了动态模糊(其实那个场景不是拍出来的,是合成的)。如果你玩3Dmark跑分,你会发现其实稳定的24帧并不卡。CG动画就是全渲染了,如果截取单帧,你会发现没有模糊这回事。最后说一句:即便是静态的人物对话镜头也是用较高的快门速度拍的(较小的快门角度),要知道一堆模糊的胶片连续播放并不会为你带来清晰的画面。试想一下,一个背着斯坦尼康的摄影师,如果用1/24秒的速度随着主角一起飞奔的话,再好的稳定性也没法带来清晰的图像哦。
运动模糊的原因造成24帧的拍摄电影比24帧的动画/游戏画面更流畅
后回答问题,你也可以用以下帐号直接登录
(C)2016果壳网&&&&京ICP证100430号&&&&京网文[-239号&&&&新出发京零字东150005号为什么电影每秒只有24帧,但游戏30帧就卡成狗?
为什么电影每秒只有24帧,但游戏30帧就卡成狗?
凤凰科技
大家玩游戏这么多年,或许都会有那么几个疑问云牵梦绕:为什么2D像素化的古董超级马里不卡,但3D游戏确卡了?为什么电影每秒24帧不觉卡?但游戏没30帧就得卡成汪星人?虽然网上有各种各样的回答,但很多都不尽科学不够全面,所以笔者还是来全面科普一下吧。电影胶卷记录的逐帧信息所有的故事都要从人类肉眼的“视觉暂留”和“脑补”现象说起,前者是指人类视网膜在光信号消失后,残像还会保留一定时间的现象;后者是大脑自行补足画面中间帧的“脑补”功能。它们的混合作用,让我们误以为每秒24帧回放的照片是“连续”的。而至于为什么要把数字定在24,这里面更多是约定俗成和玄学,电影规格本身也经历了16到24帧的转变,这个数字以后估计也会继续增长。而PAL/NTSC/SECAM三种电视信号规格,把帧数定在每秒25帧和30帧的原因,其实只是因为不同地区的供电频率不同(50Hz和60Hz)……为了方便计算,采用NTSC制式的美国和日本,在游戏中很自然地了沿用了每秒30帧的习惯(NTSC制式为29.97帧)。但为什么看24帧的电影毫无违和感,但30帧,甚至60帧的游戏中也会出现卡顿?这里直接说结论,决定游戏流畅度有4个:动态模糊效果、操作响应、帧率和帧率均匀度,当中以动态模糊最为重要。动态模糊动态模糊,是指相机快门慢于物体运动而导致的运动轨迹拖影。3D游戏和电影的重要差别:电影是现实光影的记录,而3D游戏是3D模型形状/位置的实时渲染,前者会有动态模糊,而后者不会。电影是恒定频率的拍摄的胶卷/数码照片,它可以完整记录一段时间内的光线信息。一般24帧每秒的视频会选取高一倍&#x秒的快门,可以完整记录半秒的光线信息。而这些“多出来”的丰富图像信息,会像重影一样叠在一起而造成动态模糊/拖影,其原理和“光绘”一样,只是快门不是几秒,而是1/50秒。高快门速度的样张低快门速度的样张在人类大脑中,动态模糊是视觉信息量的一个重要表现,即使实际看到的帧数不够,加入动态模糊的间隔画面也足够我们用来进行脑补,从而实现“流畅”。另外,偏题一下,如果同样的每秒24帧,如果快门速度提高&#x秒,那胶卷中记录的光线信息只&#x秒(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),一个操作需&#x毫秒(33毫秒*3帧)才能反映在画面上,而60帧的游戏,则只需要50毫秒就能响应过来了。这50毫秒,在游戏中很有可能决定你是爆别人头,还是被人爆头了。另外,如果出现画面压力太大,机器来不及渲染画面,画面出现掉帧甚至卡顿,我们的操作指令也是会被顺延输入的。效果就是我们几秒前的做的操作,在几秒后才逐一显示在画面上,这就是传说中的卡成翔了……(雷锋网)一瓶乱弹 游戏的渲染效果对资源的消耗,远不是电影的编解码能够比拟的……独显和集显的差别啊……
加载中
凤凰科技微信公众账号最新文章:
相关推荐:
本网站所有内容均采集自网络,如有侵权麻烦邮箱联系删除。}

我要回帖

更多关于 每秒30帧是什么意思 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信