侠客红尘2024年10月12日发布:为什么电影 24 格就行,但游戏却要 60 格?
⭐发布日期:2024年10月12日 | 来源:侠客红尘
【二四六香港资料期期准2024】 |
【澳门天天开彩开奖结果】 |
【2024年香港今晚开奖结果查询表】 | 【2024今晚香港开特马开什么】 | 【香港特马开码开奖结果历史记录】 | 【2024年新奥特开奖记录查询表】 | 【2024港澳免费资料】 | 【澳门今晚开奖结果是什么香】 | 【2024澳门开奖历史记录结果查询表】 | 【澳门6开彩开奖结果】 |
【澳门4949精准免费大全】 | 【澳门平特一肖100%准资手机版下载】 | 【2024新奥开奖结果查询】 | 【2024澳门天天开好彩大全2023】 | 【2024新奥历史开奖记录68期】 | 【新澳2024年开奖记录】 | 【2004新澳门天天开好彩大全】 | 【澳门六开彩天天正版资料查询】 |
大家玩游戏这么多年,或许都会有那么几个疑问:为什么 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 格每秒的影像,会选取高一倍的 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(每秒格数)相同,照样也是会有流畅度差异,这是为什么呢?
两款显卡的 FPS 对比。
两款显卡 FPS 渲染时间对比。
这里的问题出在“格”的精确上。即使之前时间都能 30 格以上算图,但只要有那么几个瞬间跌破 30 格,那依旧是卡。理想情况下的 30 格每秒,是 30 格均匀分布,但实际上有可能前半秒计算 29 格,最后的整整半秒只算了 1 格。
因为运算能力和画面复杂度的限制(例如从平原中突然有巨大爆炸的画面),前半秒算图压力小,可以满格跑,但一到爆炸场景,运算量暴增,来不及计算,后面格数就下降了。肉眼虽然对格数的绝对值不敏感,但明显的格数变化还是能轻易察觉的。
很明显平时我们看的 FPS(每秒更新率)的精度完全不够用,我们需要把精度,从每秒多少格,提升到每毫秒多少格才能精确衡量画面更新率的稳定性。
回应时间与操作速度
游戏和电影的最大区别是,游戏是需要使用者做出动作并对动作进行即时回馈。除了视觉流畅,我们还需要操作流畅。大家追求 60 格高更新率的重要原因,为的就是降低回应时间。我们感知一个动作是否完成,是要机器接受操作资讯,并最终反映在下一格才算完成。而实际操作中,大多数游戏引擎在接受操作指令后,要 3 格间隔才能呈现在画面上。
画面更新率速度越高,我们能感知的操作速度就越快。30 格的游戏,即使忽略操作指令传送速率,每个画面持续 33 毫秒(1s/30=0.033s),一个操作需要 100 毫秒(33 毫秒×3 格)才能反映在画面上,而 60 格的游戏,则只需要 50 毫秒就能反应过来了。这 50 毫秒,在游戏中很有可能决定你是爆别人头,还是被人爆头了。
另外,如果出现画面压力太大,机器来不及算出画面,画面出现掉格甚至卡顿,我们的操作指令也是会被顺延输入的。效果就是我们几秒前做的操作,在几秒后才逐一显示在画面上,那就会非常卡了……
(本文由 雷锋网授权转载)
[前往原始页面]微信搜索公众号technews 2013(TechNews科技新报)关注我们。
【2024新澳今晚开奖号码139】 【新澳开奖结果记录史免费】 |
【新澳彩2024全年免费开奖记录】 【2024澳门特马今晚开奖网站】 |
【新澳门直播开奖直播免费观看】 【澳门六开彩天天开奖结果】 |
【2024香港最新开奖结果查询走势图】 【2024港澳彩精准内部码料】 |
【新澳门最快开奖结果开奖】 【2024特马今晚开奖号码查询】 |
【2024年新奥门天天开彩免费资料】 【2024澳门今晚开码】 【2024年今晚澳门特马开奖结果】 |
发表评论
艾杜亚多·雅内兹
7秒前:这里的问题出在“格”的精确上。
IP:33.98.7.*
陈昭昭
8秒前:虽然最完美的游戏应该是要格数尽可能地多,那样才是真正类比现实情况,但对于游戏来说,计算格数越多,需要的性能就越高,这个方案的代价太大了。
IP:58.36.3.*
鲁珀特·伊文斯
4秒前:而 PAL / NTSC / SECAM 三种电视讯号规格,把格数定在每秒 25 格和 30 格的原因,其实只是因为不同地区的供电频率不同(50Hz 和 60Hz)……为了方便计算,采用 NTSC 制式的美国和日本,在游戏中很自然地了沿用了每秒 30 格的习惯(NTSC 制式为 29.
IP:49.83.7.*