软件风向标,重度软件行业发展门户!

文章更新 | 热门文章
您的位置: 首页  →  游戏新闻 → 《为什么游戏会锁帧?看玩家如何拆穿背后的谎言

为什么游戏会锁帧?看玩家如何拆穿背后的谎言

2023-06-16 12:19:23      小编:skylark      我要评论

玩游戏的时候我们大家都比较讨厌锁帧,可是大家有没有站在开发商的角度考虑过为什么他们要这样做?近日Reddit上一名叫“Pyronar”的会员披露了一些“内幕”,解释了这一现象。

虽然Pyronar本人没有在任何一家游戏公司呆过,但是他对游戏引擎还是有一定了解的,因为他目前就在从零开始开发一个。他说之所以这么做并不是为了看自己能否开发一个媲美虚幻4、CE3等3A游戏常用的引擎,而是为了对游戏引擎有一些了解。

Pyronar总结称共有三个动作将决定游戏引擎如何工作。视频游戏引擎获取和进程输入,升级游戏状态,然后渲染帧数。这就是一个游戏的主要流程,如果开发者遵循这三部编写代码,那么他们就会让一个游戏按照他们的目标速度运行。因此,关于帧数问题开发商共有三个选择方案。它们是:锁帧,时间增量(Delta Time)和双回路。

第一种情况就是我们PC玩家经常遇到的主机渣移植。由于开发商可以锁帧,让游戏在PC上的运行速度和主机版完全一致,所以说这个是最容易使用同时也是效果最差的一个方案。

第二种情况就是不锁帧,不过也会带来各种各样的问题。开发商这样做可以让游戏不锁帧,而且会计算上一帧和新一帧之间的时间。

第三种情况就是大多数现代引擎采用的方案。基本上就是导出两个循环。其中一个每X毫秒运行,另外一个以每帧运行。前者是升级逻辑,后者则是渲染游戏。

最后Pyronar还就厂商因为锁帧而做出的各种荒谬解释进行了抨击。比如“某引擎不能不能解锁帧数”,“锁30帧是出于艺术原因”,或者是“解锁帧数超级困难而且代价高昂”。

下面是厂商惯用的公关用语,底下是Pyronar本人的拆穿。

1.优化非常困难,一些开发人员根本没有足够的时间和资源来保证他们的游戏维持稳定60帧。

Pyronar说这个在我列出的众多宣传口号中基本上是对的,但是这和解锁帧数没有任何的关系。如果我的PC不能高于30fps运行你的游戏,那么这就是优化问题。你没有理由不向玩家提供至少一个解锁帧数的方法或者直接把帧数调高如果你光担心优化问题。

2.由于某些早起设定,导致60FPS无法实现。

这也是有可能。但是只有在软件工程领域中,我们并不会把这些称之为设计决定,我们叫设计失误。也就是说上面的“三步走”你们有问题。

3.并不是所有的引擎都支持解锁帧数。

首先,一个引擎不是一个封闭的盒子,至少大多数并非如此。如果你需要一个功能,直接编写就得了。虽然有点困难,但不至于难到不能从新编写。第二既然你的引擎不支持解锁帧数,那么你干嘛还用它?第三,大多数现代引擎都有这个解锁帧数的工具。最出名的就是Unity引擎。它自带双回路系统(支持升级和固定刷新)。

4.锁30fps是出于艺术原因

好吧,我不会说这个情况不会有。虽然我的艺术修养也不高,但是有一点我敢肯定。如果你的游戏设计地很合理,提供一个解锁帧数的方法或者至少改成锁60fps都是可行的方法。所以说如果你就指望游戏锁30fps,那么这就是一个很差的想法。

5.解锁帧数超级难,而且代价很高。

好吧,要说困难可以,但是代价没有你吹得那么高。至于难的问题,难到你不知道Unity引擎早在几年前就帮你解决了吗?

看到这里,想必大家对锁帧有了一定的了解,这也是为什么有些MOD制作人能在不引发重大问题的情况下解锁帧数。

Reddit原帖地址:点击进入

谎言[共284款]

玩家[共7131款]

游戏[共34624款]

会锁帧[共1款]

  • 发表评论
资讯排行 资讯中心 热门专区 软件评测
软件排行榜 软件攻略 软件下载 软件开测表
软件排行榜 软件礼包 软件下载 新软件测表
安卓排行榜 软件视频 软件下载
苹果排行榜