为什么24帧电影很流畅,而30帧的游戏没法玩,为啥30帧的游戏很卡
很多朋友或许都有这样一个疑问:大部分电影的帧数都是24帧,播放起来非常流畅 ,肉眼根本捕捉不到任何卡顿现象;但是用电脑玩游戏的时候却完全不同,只要帧率在60帧以下,总是觉得游戏变卡了,这究竟是为什么呢?
谈论这个问题之前,有必要先为大家简单介绍以下帧数是什么。
其实很好理解。帧数就是在1秒钟时间里传输的图片的量。通常用fps(Frames Per Second)表示。每一帧都是静止的图象,快速连续地显示帧便形成了运动的假象。高的帧率可以得到更流畅、更逼真的动画。每秒钟帧数 (fps) 愈多,所显示的动作就会愈流畅。
绝大多数的数字电影拍摄帧率仍然是24Hz
所以我们看到参数中的 “30帧” 其实就是说 “在一秒的时间内,拍摄30张静态画面,然后通过播放使其连接起来”,因为人眼的视觉残留特性:是光对视网膜所产生的视觉在光停止作用后,仍然保留一段时 间,原因是由视神经元的反应速度造成的。反应速度时值是二十四分之一秒(也就是说播放每秒超过24帧静态画面,在人类肉眼看起来就是流畅而连续无卡顿的动 态画面),这也是电影等视觉媒体形成和传播的根据。所以我们目前看到的电影基本都是24帧的。
那么我们的问题来了,为什么电影24帧很流畅,而游戏30帧却卡的要命呢?其实,主要原因就在于,电影和游戏的图像生成原理不同。
电影的24fps,是每1/24秒拍摄一副画面,如果你玩过相机的手动设置,你应该知道如果以1/24秒的快门速度拍摄一个运动的物体会“糊”掉,而正是这样“糊”掉的画面连起来才让我们的眼睛看上去很“流畅”。
而游戏却不用。游戏画面不是按1/24秒快门拍出来的,而是每一幅画面都是独立渲染出来的,之所以跑成24fps是因为显卡处理能力不够而“丢弃”了其中的一些画面,这样一来每两幅画面之间就不连续了,自然看上去会“卡”。
举个例子,一个圆从左上角移动到右下角,如果是电影,第一帧与第二帧可能是类似下图这样的:
二如果是游戏画面,第一帧与第二帧会类似下面这两张图:
大家也可以拿电影中的快速移动画面截图与游戏中的相比较,效果会更加直观,例如这样:
可以看出上面第一张极品飞车里的截图,车速明明很快,但是如果我们截图的话,还是清晰的帧。而电影中无论是车辆还是快速运动的背景都是虚化的。
简单来说,电影虽然帧率仅为24帧,但是每一帧都包含了一段时间的信息,而游戏则只包含那一瞬间的信息。一个电影在一段时间内曝光,画面的每一帧,都包含有一段时间的信息,这段时间的长度由快门时间决定,最长不能超过1/24秒,所以视频中每一帧包含信息量较大(帧与帧之间有模糊的图像,这与人眼快速转换视角也是相似的)。而游戏里的每一帧只有这一个瞬间的信息,帧与帧之间的信息完全丢失了,所以必须通过更多的帧数来使图像过渡自然,为了解决这一问题,一些游戏中也加入了模拟电影模糊效果的画质选项。
此外,帧与帧之间,间隔恒定:人眼对于动态视频的捕捉是非常敏感的,电影帧率是固定不变,肉眼很难察觉出异常,而游戏的帧率却是很容易变化的 —— 如果手动锁定帧数,显卡会默认渲染最高帧率,玩家触发的很多剧情往往伴随剧烈的画面变动,这时显卡的帧率就会出现下降,前后不一致的帧率很容易被肉眼捕捉,这时我们就会觉得,游戏变“卡”了。
(7430584)
电影为什么24帧,游戏
24秒或1。游戏的情况是显卡渲染出的每一帧跟下一帧一般不会是连续的。而一般电影的每一帧都持续1,所以会让人感到里面的物体、场景等都是持续运动的?首先,因为电影的所有帧之间都是连续的,所以你会发现暂停的时候,电影画面会比较模糊,这种效果跟人眼的残影现象一模一样。造成顿挫感的原因还有一个,就是游戏场景不一样导致每帧生成时间不一样,而认为是流畅的是60帧,所以帧率过低的时候让人感到顿挫和跳跃感:很卡的时候场景变化很大;29秒。
为什么玩游戏的24帧没电影的24帧流畅人眼认为运动图像是连续的最低帧率是24帧,由始至终都非常统一,比较直观的体现
为什么电影24帧就已经非常流畅,而游戏却要60帧以上才能保持流畅?
据扯人眼和大脑接口在一秒中可以处理10到12张画面。(参见:Frame rate)但对一些刺激性画面,比如黑屏突然闪白0.01秒,也是可以察觉的。原因是视觉后像(视觉后像_百度百科),简单可以理解为呈现在眼前的画面会在它消失之后依然会被视神经认为还存在一小段时间。视觉后像是电影的基础,人脑会脑补两张画面之间的动态内容。(真正的脑补,不需要自主意志支配)早期默片每秒只有14张画面,但大脑依旧可以间补。
另一个电影让人眼感觉到流畅的原因是:摄像机拍摄的每秒24张画面,每一张都是经过一定时长的曝光完成的,所以它记录得并不是严格意义的一瞬间,而是一段时间里影像的叠加,这就是为什么一般摄像机在拍摄相对镜头高速运动的物体时会产生“动态模糊”。动态模糊使得那些飞速划过镜头的物体(比如前景物体)不再是突然出现在某一两帧画面里,然后消失,而是在那一两帧里出现一个模糊的影子。这在某种程度上提高了画面的“稳定性”(因为一闪而过的东西会模糊和淡化)从而保持了流畅度(人脑可以专注于正常速度移动的中远景)。
在电脑动画中,渲染动态模糊是使得动画更加流畅自然的重要手段。
以上是为什么电影的帧速率低但是依然感觉“流畅”。
对于游戏,流畅度不仅仅体现在画面的流畅,因为游戏需要交互。
游戏中逻辑的计算(CPU运算),比如计算游戏中敌人的位置随着时间的变化,玩家血量的变化,需要不停计算。GPU渲染在渲染一帧画面的速度是不稳定的,会受画面复杂度影响,因此一秒钟内能呈现出的帧速率也是不稳定的。所以游戏引擎会在GPU完成前一幅画面的渲染之后让CPU计算一次逻辑,比如敌人在下一帧会出现在什么位置,玩家的血量会减少多少。这种方式会避免CPU在一秒钟更新了60次游戏状态,而GPU只能渲染出其中30个结果给玩家的浪费情况。
所以,当GPU渲染得不够快时,CPU对游戏状态的更新也会相应滞后。
如果玩家在这一帧按下一个按钮,而这时GPU一秒只能处理一个画面,那么游戏对玩家做出反馈(不仅是视觉的反馈,还有逻辑反馈)将会是在一秒之后。举个例子,你在dota中按键释放一个技能,这个技能不光需要在一秒之后才被你看到,更可怕的是在一秒之后才在游戏状态中真正发生作用。鬼武者中“一闪”所要求的“按键时机需要在2帧范围内”,也必须建立在帧率达标的前提下。如果鬼武者在一台电脑上的FPS为5,玩家按中“一闪”基本就不可能了。
游戏中,只要有交互行为,滞后就是无法避免的,因为反馈总要等到下一帧才能出现,所以GPU渲染一帧需要多长时间决定了反馈的速度。因此游戏的流畅所需要的帧速率也不绝对需要60fps,这跟游戏机制是否对反馈敏感有关。动作游戏,比如格斗和赛车,对fps就更敏感,像《文明》这样不强调动作的游戏,fps达到30就不会感到有卡顿。
以上是为什么一些游戏需要较高的帧率来保持“流畅”的体验。
评论
- 评论加载中...