- UID
- 1
- 精华
- 积分
- 76361
- 威望
- 点
- 宅币
- 个
- 贡献
- 次
- 宅之契约
- 份
- 最后登录
- 1970-1-1
- 在线时间
- 小时
|
游戏的流畅度对玩家的游戏体验有非常大的影响,一款运行流畅的游戏会让玩家觉得很爽快,而一款拖泥带水的游戏则会让玩家感觉玩游戏本身会拖慢玩家的大脑速度,让人感觉困扰。就游戏开发上来说,我有以下几个非常直观的体验:
1、垂直同步对游戏流畅性体验的影响很大。开垂直同步会让帧数足够的游戏显得很流畅,能极大地提高游戏体验。然而,如果你的帧数无法达到显示器本身的刷新率,不管你每秒渲染59帧,还是30帧,还是25帧,都会让画面显得不流畅。假设你的显示器刷新率特别特别高,是每秒120帧,但你的游戏则是标准的每秒60帧,虽然你的游戏的刷新率与市面上常见的显示器的刷新率很符合,但却会在刷新率为120 Hz的显示器上显得很卡顿。
也就是说,你的游戏本身的画面刷新率,要和你的显示器的刷新率吻合,你才会感觉到流畅。就算你的显示器只有25 Hz的刷新率,但你的游戏也是25 Hz的刷新率的话,你就会觉得游戏很流畅,不需要到达60 Hz,甚至120 Hz。
另外,包括我的世界Minecraft在内的不少游戏都有限制帧数的功能,但这个与垂直同步无关。它只是限制帧数,但并不能做到真正的垂直同步,也无法避免画面撕裂(即游戏刷新到一半的时候屏幕却突然刷新了,游戏和屏幕并不同步,你看到的画面有一部分是旧的,没有被及时更新)。限制帧数的功能与垂直同步的功能有根本性的区别,建议开启垂直同步,并把限制帧数的设定调整为你的屏幕的刷新率的两倍左右。
也有人会问:我就是怕游戏的刷新率赶不上屏幕的刷新率,我才不开启垂直同步的呀。但事实上,如果你不开启垂直同步,这些游戏在运行的时候占用的资源会特别多。比如Halo 2这样的游戏,它可以在装备了GTX 970显卡的机器上达到400 Hz的极高帧数,但它每一帧都会通过DirectInput向鼠标查询位移距离,而鼠标却没办法处理真么快的查询过程,于是告诉游戏:我没有被移动。最终导致的效果就是:鼠标瞄准的体验非常不流畅、不灵敏。此外,由于显示器本身屏幕的刷新率并没有400 Hz那么高,通常都只有60 Hz,多出来的帧画面并不会被显示出来,而是会被丢弃。所以不开垂直同步是一种极其耗电而且占用计算机资源的行为。
但有的游戏,比如OSU!这样的,它是单线程的游戏,处理游戏规则的逻辑与绘制游戏画面的逻辑交替运行,开启垂直同步会导致这类游戏的规则处理不及时(因为等待屏幕刷新的过程中它并不对你的输入进行处理)。并且OSU!是音游,对时间敏感度很高。这导致你开启垂直同步以后,它给你统计的游戏表现(或者说分数)就很不如意。这是程序员的锅,不对垂直同步做兼容的设定本身就是对游戏开发不够了解的表现之一。(我会在OSU!解决了这个问题以后再更新帖子)
古时候的游戏,比如生化危机4,帧数被限制在30帧,虽然帧数一直都很稳定,但玩家还是不会觉得这游戏有多么流畅,虽然也不会觉得这游戏卡顿。而如果这样的游戏配合刷新率只有30 Hz(或者只有25 Hz)的显示器的话,则会让玩家感到非常流畅。因为生化危机4本身并不是PC游戏,而是主机游戏。它是被移植到了PC端的主机游戏,所以保留了自身对帧数做限制的设定。
2、有的游戏会在设置里允许玩家勾选诸如“显示帧数”“显示FPS”等功能。这个功能可以有,但我认为它不应该被默认开启,因为玩家会在看到帧数不够60帧,或者不够自己显示器刷新率的情况下,直接感受到不流畅的体验。因为屏幕上显示的帧数会暗示玩家:你的电脑性能不够,所以你的帧数不够。
事实上,对于非常在意游戏内表现的玩家而言,一旦在游戏内表现不佳,玩家会直接甩锅给游戏或者电脑,认为是电脑卡顿、游戏优化不佳等。有的玩家会直接砸电脑。然而实际的情况或许是:程序员并没有预料到玩家的电脑的实际情况非常复杂,玩家的电脑或许中了一些挖比特币的病毒,或者有些杀毒软件在玩家电脑里扫描磁盘等。除此以外,程序员调试的时候,游戏的帧数确实就达不到显示器的刷新率,但程序员认为“这是我可以接受的”,因为程序员在调试游戏的时候,根本用不着和对手玩家较劲,也不会像竞技玩家那样经历一整天打不过对手的挫败感。
我认为比较合适的做法有两个:一个是尽量不要让玩家去看到游戏的帧数到底咋样,默认不显示刷新率,并且把开启显示刷新率的设置选项隐藏到最难找到的位置。另一个是对于画面与游戏规则处理方面,显示画面用一个单独的线程,处理游戏规则和玩家输入,则使用另一个单独的线程。就算画面卡顿了,游戏规则也要及时处理。这一点Minecraft做得还算不错,但OSU!就需要改进了。 |
|