网站搜索

Lossless Scaling 立即解决了我在 GameCube 模拟中最大的问题


我不喜欢老游戏像二十年前一样受限。我认为当我们模拟游戏时,技术的进步应该转化为更好的游戏体验。不幸的是,我的模拟器很长时间以来并不是这样运作的。幸运的是,无损缩放为我解决了这个问题,但它确实伴随着一些小问题。

为什么今天30帧的锁定感觉很慢

随着时间的推移,事情变得更好



如今在新电脑上运行GameCube游戏很简单。复古游戏模拟器可以让你以更高的内部分辨率和使用纹理包来启动游戏。在新屏幕上清晰地看到你最喜欢的童年回忆感觉很好。然而,一旦你开始玩,你很快会遇到一个大问题。那个时代的大多数游戏都是锁定在每秒30帧的。

当我们在老式电视上玩游戏时,30 帧每秒已经绰绰有余。今天,在高刷新率显示器上玩一个每秒 30 帧的游戏可能会感觉很慢。高刷新率显示器,比如 144Hz 或 240Hz,会显示每一帧的缺失,让相机移动和角色动画看起来卡顿。

人们在高端显卡和高速显示器上投入大量资金,因为他们希望自己所有的软件都能流畅运行。启动一款老游戏却看到画面帧率抖动,会让那些昂贵的游戏设备显得浪费。你有这么多处理能力,但模拟器受限于游戏主机硬件的原始限制。

你可能会想,为什么不能简单地在模拟器中切换开关就让游戏以每秒60帧或更高的速度运行。问题在于,老旧的主机游戏将它们的物理、速度和游戏逻辑直接绑定到帧率上。如果一个游戏设计为以每秒30帧运行,强行让它以每秒60帧渲染意味着游戏引擎的运行速度将是原来的两倍。

动画播放得太快,计时器消耗速度加倍,敌人的攻击速度也翻倍。模组作者尝试制作每秒 60 帧的补丁以绕过这些引擎限制,但它们针对每个游戏都是特定的,并且经常会有漏洞。这意味着你通常必须在以慢速每秒 30 帧的方式完全按照设计游玩游戏,或为了获得更流畅的画面而忍受一个破损的游戏之间做出选择。

它使用帧生成来实现更流畅的游戏体验

它很复杂,但效果更好






与其处理双倍速度播放、音频不同步以及敌人攻击加快一倍的问题,你可以使用无损缩放。游戏代码不会改变,你也不会使用不稳定的变通方法。无损缩放帧生成工具完全在模拟器之外工作。它捕捉模拟器输出的最终渲染图像,并以后处理效果的方式添加机器学习算法。

该软件查看两个连续的帧,估算它们之间的运动,并生成一个新的人工帧插入中间。这很像插帧动画,软件引擎为动画填补间隙。它不会影响游戏引擎本身,这意味着模拟器仍以其原生的每秒30帧运行。这保持了所有内部逻辑、物理和敌人行为的完美运行。

同时,你的显示器以每秒60帧显示,为你提供所需的流畅画面,而不会影响游戏体验。因此,你正在使用人工智能来填补这些空白。

使用这个工具确实有一些你应该知道的权衡。由于软件必须等待游戏渲染真实的帧然后才能生成虚假的帧,这可能会增加一点输入延迟。

你的眼睛没有帧率,因为现实生活不是那样运作的。不过,除非你去刻意注意,否则是不会察觉到的。所以不要去注意它。你也可能会注意到一些轻微的视觉伪影,比如快速移动的物体或用户界面元素周围的拖影,因为软件必须在没有直接访问引擎数据的情况下猜测图像的运动方式。

然而,对于节奏较慢的冒险游戏或角色扮演类游戏来说,这种额外的延迟并不明显。

虚假的顺滑不如天生的力量

我们还能做的事情不多了



对这些插入的画面持怀疑态度并称其为假画面并不难。在真人电影中,它们看起来很糟糕,当涉及真人时应该剪掉。然而,在电子游戏中,尤其是老游戏,AI很容易捕捉到屏幕上的相同艺术。这不是问题所在。

像 Lossless Scaling 这样的程序使用机器学习来猜测像素如何移动,并在真实帧之间制作人工帧。视觉输出并不总是显示游戏引擎正在渲染的内容。这使得性能看起来更高,让卡顿的游戏在高刷新率显示器上看起来更流畅。

我也认为这项技术给了开发者一个发布糟糕软件的借口。工作室可以依赖放大和生成算法来弥补性能不佳,而不是编写本地运行良好的干净代码。购买昂贵显卡时,你基本上被迫依赖软件技巧,而不是获得你所付费的原始性能。

当你使用帧生成时,软件需要保留最新的真实帧来计算中间的虚拟帧。这个过程是不可避免的,会增加我之前提到的输入延迟。即使屏幕显示为每秒六十帧,一款内部以每秒三十帧运行的游戏,依然会以那个慢速响应你的控制器操作。

有时候你会遇到一种很大的脱节,游戏看起来很快,但感觉却很慢且不响应。此外,由于外部工具无法访问游戏引擎的内部运动向量,它们只能猜测物体是如何移动的。后台有如此多的进程,这可能导致更糟的游戏体验。因此,让模组制作者针对每个游戏进行修复实际上更好,但这样耗时更长,而且你可能只需要针对特定的游戏使用。

即使考虑到我的感受,将帧生成称为一个技巧也忽略了现代计算的限制和经典软件的严格约束。硬件行业正在稳步接近计算的物理极限,这意味着其原始处理能力无法无限倍增。

我们离匹配人类视觉所能看到的效果还有很大距离,所以这可能是获得非常高帧率的最现实方式。此外,原生硬件性能无法解决几十年前编写的软件限制。帧生成为你提供了一种绕过这些硬编码限制的好方法,同时不会破坏游戏物理。虽然增加的延迟是真实存在的,但在不需要瞬间反应的慢节奏冒险游戏和角色扮演游戏中几乎察觉不到。


你会失去一些,但会得到很多

我不认为每个游戏都必须达到 60 帧;我觉得在大多数老游戏中几乎感觉不到。然而,有很多游戏在这方面会更好,比如《任天堂明星大乱斗》系列或第一人称射击游戏。所以在必要的时候使用,而不是一直使用。在玩模拟或策略游戏时,这可能会让游戏变慢,从而不值得。所以留给《马里奥派对》,而不是《动物之森》。

相关文章