战争前线吧 关注:241,521贴子:9,883,168

CyclesMcHurtz解释有关 帧率 与 输入延迟 问题【转】

只看楼主收藏回复

我以前一直以为,电影24帧就够,游戏需要60帧才觉得流畅,仅仅是因为电影的每一帧都包含了二十四分之一秒这个时间段内的视觉信息,而游戏的每一帧只是一个时间点的图形,所以要更多帧才能骗过眼睛。
然而在动态模糊等等技术的支持下,理论上24帧的输出也应该能够欺骗眼睛了吧?
不过事实却是很多游戏在24帧每秒的情况下,的确玩着恶心。
PS2的开发人员在论坛上又一次因为“24帧以上无意义”和“不够60帧就卡得没法玩”两派玩家吵成一锅粥的时候,发表了这篇帖子:
http://forums.station.sony.com/ps2/index.php?threads/poor-performance-x58-gtx-560-ti.27251/#post-364385
【文章开头引用eHow有关人眼与帧率的解释就不详细翻译了,大概是说,帧率与人眼观察多快的运动无关。】
……
一个15FPS的动画,能看上去流畅吗?绝对能。
一个15FPS的游戏,能觉得流畅吗?绝对不能。
假设一个游戏运行在15帧每秒,那么屏幕上看见的内容,从显卡驱动渲染出来到显示给用户,有66毫秒的延迟。而游戏通常要提前1到2帧把需要渲染的内容传递给显卡驱动。所以假设平均提前1.5帧,这个提前量延迟就已经高达99毫秒了。
而在游戏把内容提交给显卡驱动之前,还需要至少1帧时间获取你对游戏的操作。
这样,总延迟就达到了66ms+99ms+66ms=231毫秒——也就是说,从你对游戏操作,到这个操作的结果显现在屏幕上,需要接近四分之一秒的时间。这个延迟非常明显。我们制作游戏的时候,有一些技巧可以用来减少这个延迟(比如说,如果配置不正确,在Windows下还要再额外增加2帧延迟),但也只能控制在稍微低于200毫秒的程度。
当大脑尝试匹配15FPS的视觉信息,与4到5FPS的操作时,就会失败,然后觉得很卡、恶心。
如果帧率达到30,那么这个延迟就降低到了33+50+33=116毫秒——这时输入延迟就不那么严重了。但在竞技性游戏中,这个输入与反馈的延迟仍然会有影响(多数人的反应时间是在120到160毫秒之间)。
当达到每秒45帧时, 这个延迟只有77毫秒了。也就是说,用户输入信息的处理率达到了1秒/0.077秒=12.9次每秒。
所以这时大脑看到了45fps的图像,而身体操作感觉是在13fps。这就是在这个帧率下有人觉得卡有人觉得没事的原因。
如果帧率达到60,那么操作处理实际是18fps,这已经高于绝大多数人的反应时间,所以60就足够流畅了。
【没有逐句翻译,只是保留了大概意思。】



1楼2012-11-03 21:55回复
    另外……中间有提到喝酒后觉得游戏特别流畅,就是这个输入延迟的原因……
    所以……如果……你觉得游戏很卡……可以喝点酒……当你的反应时间被酒精降低到低于输入延迟的时候……游戏就流畅了……
    


    2楼2012-11-03 21:55
    收起回复
      看了这篇文章觉得茅塞顿开啊。
      模拟飞行游戏,例如FS2004和FSX默认设置中,最高帧率是限制在20的。它们没有动态模糊特效,却也不觉得怎么卡。
      主要还是因为民航模拟飞行中,摇杆输入到翼面、影响气流、再引起机体运动方向的变化,本身就有达到秒级别的超大延迟。帧率所造成的“输入/输出”之间几百毫秒的延迟根本就无所谓……
      


      3楼2012-11-03 21:56
      回复
        这么好的帖子竟然没人看


        4楼2012-11-03 21:59
        回复
          爪动置顶


          5楼2012-11-03 22:01
          回复
            爪动置顶


            6楼2012-11-03 22:03
            收起回复
              爪动置顶


              7楼2012-11-03 22:03
              收起回复
                一般来说55~60我感觉不出来 我要开垂直同步的
                45明显能感觉掉帧了


                IP属地:重庆8楼2012-11-03 22:05
                收起回复
                  爪动置顶


                  9楼2012-11-03 22:07
                  回复
                    爪动置顶


                    10楼2012-11-03 22:11
                    回复
                      爪动置顶


                      11楼2012-11-03 22:14
                      回复
                        30是底线


                        IP属地:上海12楼2012-11-03 22:17
                        收起回复
                          我是低玩,30帧足以


                          IP属地:江西13楼2012-11-03 22:17
                          收起回复
                            我玩任何游戏,有20帧就行。现在打PVE,我就是把特效开高,帧数能到25帧左右。


                            IP属地:北京14楼2012-11-03 22:20
                            收起回复
                              我20针都玩的下去


                              IP属地:福建来自Android客户端15楼2012-11-03 22:23
                              收起回复