大家经常谈掉帧,部分游戏会出现从 120 以上 FPS 骤降的情况。请问是什么原因,有哪些是玩家可以做到来防止类似情况的呢?
不一定是120以上骤降,广义上只要与平稳运行相比出现大幅度的帧数不足就可以被称为掉帧。何为平稳运行根据游戏的设置而定,例如车枪球基本为30,动作游戏和格斗游戏大多为60,怪物猎人3G~4G为40上下。
现代游戏的帧数并不是定死的,因为游戏的画面与游戏的逻辑采用分开处理的方式。在处理部分复杂的画面运算时,作画帧数无法保持稳定输出,单帧作画的时间变长了,一秒能输出的帧数变少了。
老游戏也是存在“掉帧”现象的,最经典的就是《metal slug(合金弹头)》系列,不过这种“掉帧”一般称为拖慢。拖慢的成因和跳帧基本相同,都是因为画面要素太复杂无法保持原本的作画频率使得每秒的帧数下降。拖慢和掉帧的不同在于对帧数不足这一现象发生后的处理。如前述,现代游戏的逻辑和作画实际上是分开的,而老游戏则二者捆绑在一起。现代游戏发生掉帧后会采用跳过一部分“应当被作画”的内容,直接绘制当前时间应当绘制的内容;而老游戏则是傻傻的等到作画完成后才开始计算之后逻辑,拿到下一帧该显示的内容后再作画,作画和逻辑交替进行,不存在先算了下两帧的逻辑的情况。
要减少掉帧现象,关键是软件方面减少单帧作画的内容的复杂程度,提升硬件反倒应该是其次。关闭各种特效,降低贴图质量,关闭抗锯齿来减轻硬件负担。不过瞬间的作画工作量爆炸在现代游戏里是稀松平常的事情,所以一旦遇上各种爆破,画面内容物骤增,肯定会出现帧数下降的情况。所以上述的方法主要还是以提高帧数、降低负担为主要目的。
一种简单暴力但是很好用的减少掉帧现象的方法,便是锁帧上限。如果全力运行,帧数在70~100之间游走,那我锁了帧上限60,想让帧数维持在60是很轻松的事,便不存在掉帧。平时工作只需要10个人就够了,但是实际上还有5~6个人没事做,这样等到工作量突然增大时,这5~6个人可以马上顶上来,保证工作按时完成。
至于提升硬件来减少“掉帧”现象,这个说法存在问题。提升硬件改善的是硬件的作画能力,把同等质量下原来只能每秒画30张变成每秒能画60张,但是作画一旦复杂起来照样要降低每秒能作画的张数。难倒300FPS变成250FPS就不叫掉帧了吗?
非专业的随便扯两句
掉帧大部分情况都是硬件不足引起的,个别情况可能是开发者没有优化好
大部分情况下,游戏能稳定保持60帧已经是流畅,个别有写轮眼的还坚持要90帧,120帧?抱歉,我没见过也分辨不出……
你所说的120帧突然掉下来,我能想到的情况就是爆显存,来块610疯牛病如何(滑稽)
避免掉帧的情况,主机玩家没有太好办法,pc玩家可以通过更换更好的硬件以及优化系统环境,降低游戏画质来改善
关闭cpu节能 锁定频率 手动拉高显卡频率
以上操作没用的话 建议加钱
目前主流的渲染方法貌似还是以双缓冲交替渲染为主,那么就拿这个举例子好了。
简单的解释就是,显卡无法在一帧的时间内渲染完一帧的内容,因此只好继续把上一帧的画面输出到显卡。
复杂的解释如下。
显卡渲染一帧画面需要经过一大堆过程。首先是写渲染指令队列,然后把队列传输到显卡上,同时择机把贴图传输到显卡上。之后,显卡首先把模型变换到正确的视角上,然后计算贴图光照等等,计算结果写到帧缓冲上,最后把帧缓冲输出到显示器。
其中,显卡性能不够是会导致掉帧,但是不会突然毫无征兆的掉帧。通常突然掉帧但是很快恢复的,其实是IO卡住了,有可能是在等读盘,也有可能是在等贴图加载到显存中。
解决方法嘛。。。给电脑清个灰可以解决性能不足的问题,但是IO方面,如果做了碎片清理还是没有改善,就可以甩锅开发者了。
如果你是开发者,可以考虑想办法提高显存利用率,合理载入缓存、利用预缓存队列什么的。。。不过除非你自己写引擎,基本上没什么机会干这些事了233
部分游戏会出现从 120 以上 FPS 骤降的情况。请问是什么原因?
原因:猛回头
有哪些是玩家可以做到来防止类似情况的呢?
防止的办法:没有办法
这是因为优化好了,才能120fps偶尔降到30fps
如果没有优化,那就是全程30fps
在线客服
客服咨询
官方微信
返回顶部