level 12
【一】关于“帧”的各种混乱:
格斗游戏中与“帧”有关的是5个概念,经常被理论界(主要指战术打法理论界)不加区分的乱用:
1---脚本运行周期T:
例如有一个游戏系统进程,每隔一段时间(例如T)检查一下人物血量然后修改血条长度。
一般来说,游戏中把这段时间长度T设定为游戏程序运行的最短周期,也就是我们这里说的脚本运行周期概念,每隔这个最短周期,系统检测一次人物血量并修改血条长度。
这个运行周期决定了游戏程序能够在多么短的时间里响应玩家操作。
有很多游戏可以设定游戏速度,游戏速度提高对应了程序运行的加快,其实就是因为游戏速度的高档设置要求脚本运行周期T 减小,例如原来是T=0.01秒,游戏速度提高一档时则是 T=0.005秒,相当于原来每秒执行程序脚本100次,现在变成每秒执行200次。
有人喜欢用程序所规定的那个“游戏图像的最短刷新时间(frame)”来代替脚本运行周期的概念,例如有种错误认识“kof98中攻击判定的运行周期是2frame”,这就是把脚本运行时间T和“图像按程序刷新周期frame”搞到一起去了。
我们说,你认为是2frame运行一次攻击判断,只是你在以图像刷新作为参照的时候得出的结果。
而程序具体是多长时间判断一次攻击判定,与你按照攻击命中后图像的改变时间来“猜测”的结果是没有必然关系的,因为你没有任何理由可以证明图像改变与攻击判定完成是同步的(实际上完全可以攻击判定成立后等一段时间再改变人物图像)。
当然,大家玩游戏,而不是做游戏的时候,很少需要提到脚本运行周期T这个概念,但是不代表由此衍生的一系列误会不存在,很多格斗游戏研究者经常说游戏输入指令的响应时间是多少frame,这个说法实际上是有问题的。
以2dfm为例,它生成的是个游戏速度可调的游戏。游戏速度设置为高速条件下,图像和脚本运行的频率都提高了,但是输入响应呢?是的,没提高!
街霸2x里面有一个选项可以将游戏速度降为超级街霸2(最早的16人版)的速度,但输入指令的响应速度变慢了吗?没有!
kof98中有一个参数用来决定人物的动画速度,你修改这个参数会影响指令输入的响应速度吗?绝对不会!
因此,图像的frame与判定指令的脚本运行周期T根本不是一个概念,也不可以用frame替代T来说问题。
2---显卡图像刷新率fps:
这是显卡每秒钟输出图像的改变次数。和游戏本身的程序执行周期无关,和游戏本身每隔多久播放一张图像没关系,完全取决于显卡能够多久运算出一张图像并输出信号给显示器。
例如说在性能优良的电脑上,对于某一个游戏,显卡可以达到每秒200~300次图像输出(也就是200~300fps),但该游戏程序规定图像的改变频度最快可能只要每秒100次(1秒相当于脚本运行周期100次,即100T),那么就表明电脑渲染图像的能力远超游戏程序要求。
在比较差的电脑上,显卡对该游戏只能达到每秒输出50张画面(50fps),而游戏按照每个脚本运行周期播放一张图像,就是每秒100张画面(1秒相当于脚本运行周期100次,即100T),那么显卡就达不到游戏要求,画面就会“跳帧”。
也就是说,显卡的运算能力以及游戏画面程序的计算复杂程度决定了fps指标。
由于“跳帧”这个概念的存在,所以很多人习惯把fps也叫做“帧”,这又是一个误会!
3---显示器刷新率Hz:
显示器每秒中刷新多少次画面。这取决于显示器的扫描速度(电子枪扫描完一副画面需要多久,每个液晶像素灯泡要多久改变一次颜色状态)。
一般来说,这个数值现在都在80~90Hz左右,与程序没有任何关系,也不会受到显卡性能的影响。
实际上我们都不可能从显示器上看到显卡输出图像有多流畅,我们只能看到显卡性能不足时,画面有多卡,但是游戏画面卡和显示器刷新率没任何关系。显示器刷新率低只会导致视疲劳和视力下降,游戏画面卡却不会对视力有任何影响,如果你能找到老式显示器,把刷新率修改到10Hz(每秒刷新10次画面),就能明显看到
2012年07月08日 19点07分