游戏锁帧是否真的很重要 关于游戏锁帧的真相
时间:2016-05-15
关于游戏锁帧的说法,孰真孰假?Reddit成员Pyronar发表了关于锁帧这件事自己的看法。虽然Pyronar不在任何一家游戏公司工作,但他曾参与过游戏引擎的开发建设。
《恶灵附身》PC版提供了选项让玩家调整帧率,官方则建议玩家以默认30FPS获得最佳游戏体验。
据Pyronar介绍,游戏引擎是整个游戏的核心,是游戏的心脏。他简要地用三个步骤概括游戏引擎是如何工作的:
第一步:获取并处理输入(get and process input):这些输入包括来自于交互设备(游戏控制器、键盘鼠标等)的输入,以及来自于网络的输入;
第二步:系统更新(update game state):根据输入或者自发地对各个子系统进行更新,以决定当前的游戏状态;
第三步:帧渲染(render frame):对整个游戏场景进行渲染。
这是游戏的一个主要循环,如果开发者只按照这三步编写代码,他们可能得到一个帧率不够稳定的游戏。因此开发者研究出三种方法应对这一问题。
《极品飞车18:宿敌》全程锁帧30FPS,有玩家在游戏中添加了一小段代码,轻松将帧率提至60FPS。
第一招:锁帧。我们大多数人已经领教了这一招。它让游戏全程都按照同一个速度运行。
第二招:delta time。delta time在代码中表示上一帧所用的时间。通过这种方法,开发者可以不锁帧率,转而对上一帧以及基于上一帧的操作所消耗的时间记时。
第三招:双循环。这种方式是现在很多游戏引擎采用的方式。其中一个循环以毫秒为单位,另一个以帧为单位。前者负责更新逻辑,后者负责渲染帧。
这三种方案中,锁帧是最简单、最偷懒也是最糟糕的解决方案。