来自软件臭名昭著的30fps口吃 - 但仅用于入侵的PS4控制台
最后一个游戏机一代最令人困惑的技术奥秘之一就是这样:为什么PlayStation 4和Xbox One上的每个软件标题都如此明显?从制片厂的2014 PS4首次亮相 - Bloodborne-到今年的Elden Ring,从Software的30FPS帧速率解决方案中看不到其任何游戏中看起来或感觉不正确。
在Digital Foundry,我们将这种现象称为“不一致的框架开步” - 即使您每秒获得30帧 ,每个新框架的断断续续,不一致的交付也会带来较低的性能的幻想 。但这是事实:黑客剧《 PlayStation 4s》中存在每个游戏的非官方补丁,令人惊讶的是 ,这是一个简单的基本代码修复。我已经测试了这些补丁 - 它们起作用,产生了更顺畅的,没有口吃的效果。所有这些让我感到奇怪 ,如果这很简单,为什么没有从软件中固定自己的游戏 。这些补丁有什么捕获吗?
我首先从软件“代码考古学家”兰斯·麦克唐纳(Lance McDonald)列出的故事中,我看到的是血态60fps补丁的创建者 ,我们看到我们通过PlayStation 5上的背部无瑕。软件标题。
这个非凡的故事的完整视频分解,您可以在其中看到幻觉补丁作品的前后效果 。
要获得这些补丁中的任何一个都不是胆小者的过程:首先,您需要在固件9.0或更低的PlayStation 4控制台 ,这需要通过PS4 Web浏览器运行的漏洞利用,该浏览器从USB棒中安装有效载荷。这允许用户以类似于索尼开发控制台的方式安装无符号代码。但是,安装漏洞利用只是所需的任务的开始:除此之外,您需要在将它们安装在入侵的机器上之前倾倒和解密要修补的游戏 。这些都不是特别简单 ,出于本文的目的,进一步的解释并不重要。对于从软件标题进行补丁的情况下,这仅仅是将理论投入测试的手段:工作室的签名狡猾的30fps帽实际上可以固定。
根据幻觉 ,问题相当简单 。来自的Vanilla框架速率盖的作用远远超出了名称的建议 - 它可以确保每秒出现不超过30帧。它不做的是考虑何时应交付每个新框架。从理论上讲,一个30fps的游戏应在其他每个屏幕刷新(每33.3ms)上显示一个新框架 - 但是,从标题中看到以16.7ms ,33.3ms或50ms的间隔显示的新图像。这是经典的数字铸造克星 - 不一致或“不良 ”框架启动 。
在上面嵌入的视频中,我努力解释和演示问题,但是如果这不是您的选择 ,请查看下图,该图像将Bloodborne的未拨动版本与Illusion的修补替代品进行了比较。我省略了帧速率图,因为它无关紧要 - 两个演绎均以30fps的速度运行。这是最重要的框架时间 。在左侧 ,您可以看到不一致的框架交付的香草版本的更新速率 - 实际上,这给人以较低的性能的幻觉。在右边,有了幻觉的补丁,这条线是直的。每帧每33.3毫米一次到达 。这是30fps。
这是数字铸造图工具可视化口吃/不一致的帧速度(左)以及修补版本如何解决33毫秒的每个框架(右)的方式。
这就是技术解释 - 但是这如何影响体验的质量?我玩过软件游戏的每一个的修补版本 ,而差异通常是夜间 。在血源,黑暗之魂3和塞基罗(Sekiro)的口吃之处消失了 - 表现唯一的是在最苛刻的场景中实际的GPU瓶颈。只能在被黑的PlayStation 4上检查Elden Ring网络测试(新游戏在高于被剥削的9.0的固件上运行),但这也可以提供更一致的体验 - 尽管由于对开放世界的需求更高 ,因此通常会影响性能。即便如此,修补版本仍然对运输游戏有所改进 。总而言之,在我抽样的每个标题中 ,都很难将修补的演绎视为我们本应播放的经验以外的任何东西。
实际上,这是游戏呈现的巨大变化,它表明对游戏代码进行了实质性的重新加工 - 改进是明显的。但是 ,Illusion的调整非常简单:贴片将调用从自己的30fps帽上进行了调用,用呼叫的索尼系统库将其替换为称为scevideooutfliprate的呼叫 - 它确实实现了一致的框架,而从替代方案中则实现了一致的框架。Sony System Call并没有为下一个显示更新提供新的帧 ,而是确保每个帧以33.3毫秒的间隔交付 。那是真的那么简单吗?字面上改变了另一个指令?
“那是两行修复,”幻觉告诉我不和谐。“基本上,先前不一致的30fps盖需要首先提起,然后放置在其位置上是System SDK API调用……[IT]通常总计三行修补的指令。”
从最后一代“ Pro ”控制台和当前的机器上移开了帧速率 ,但仍然存在一个一致性问题 。Elden环质量模式在一致的33.3ms刷新上升高,显示口吃。同时,性能模式无法维持16.7ms的帧时间 ,显示33.3毫秒的倾角 - 是的 - 更多的口吃。为了记录,这里的质量模式在35FPS上运行,性能模式为55fps 。这可能会发生巨大的变化 ,从而进一步增加了不一致的感觉。
幻觉在他的博客上推测,可能从平台特定的系统调用中选择了30fps实现,以促进多平台的开发 ,但事实证明,微软拥有自己的库,适用于Xbox One和Xbox系列和Xbox系列和Xbox Series Consoles的一致性30fps-IDXGISWAPCHAIN ::。Microsoft控制台硬件没有黑客攻击或利用 ,但是很可能是Dark Souls 3,Sekiro和Elden Ring的Xbox One版本可能会有类似的补丁 。
当然,来自软件本身已经从30fps的盖子开始。它始于对最后一代增强控制台的支持,开发人员转向了解锁的帧速率 - 对爆炸的30fps进行了改进 ,但远非理想。在当前生机游戏机上的Elden Ring中,保留了解锁的帧速率想法,但具有质量和性能模式 。前者看起来不太好 ,因为它像30fps的游戏一样带有额外的搭便车。后者并不理想,因为与理想的60fps相距太多。
BluePoint Games的Demons Souls Remake获得了质量/性能拆分 - 锁定的框架比率和岩石固定框架。两种模式都是一致且没有口吃的 。
在这一点上,BluePoint Games出色的恶魔的灵魂为PlayStation 5进行了重制。它提供了4K质量模式 ,每秒以非常一致的30帧运行,以及1440p的临时高尺度性能替代方案,可在60fps下运行。恶魔的灵魂表明 ,简单地解锁性能并不是最好的解决方案:以一致的30fps瞄准忠诚度可以带来出色的结果,但是将时间和精力投入到目标和实现taa上的几个锁定的60fps中,这会产生如此不同的效果 。这是这些游戏应呈现最佳效果的方式。
从软件的问题30fps帽中回到 ,如果有一种感觉,那就是幻觉的补丁似乎太好了,无法真实,那么您是对的。补丁增加了重要的输入滞后 。在对此进行测试之前 ,我想起了第一个命运的原始Beta版本,在这里,数字铸造将Bungie承担了其不一致的帧速度的任务 ,该公司陷入了挑战并解决问题的问题,并指出这样做的同时保留低输入滞后的情况并不容易 - 我认为他们的解决方案比简单的解决方案更简单地调用了一个简单的贴片。
高速相机可用于比较输入滞后。同步摄像头馈送到按钮按下,我们看到未插入的血源(顶部)在动画的第一帧启动(底部)之前就已经进入了攻击动画 。在多个样本中 ,差异以78ms的显着平均为有利于原始代码。
输入滞后测试带来了一些显着的结果。尽管零售代码的输入滞后差异很大,但平均而言,补丁的血源响应速度慢了78ms ,在Elden Ring上的速度慢了50ms(尽管后来的比赛似乎比Dark Souls 3和Bloodborne的人更卑鄙) 。这给我们带来了困境:没有邦吉级优化,这些补丁基本上提供了一个看起来好看的游戏,但以控制措施为代价。BluePoint是否用恶魔的灵魂翻拍解决了问题?我不这么认为:该游戏中的30FPS模式与补丁一样卑鄙 ,令人惊讶的是,通过切换到性能模式,输入滞后会减少85ms(!) - 应该玩游戏的方式。如果您拥有恶魔的灵魂翻拍,请尝试30FPS模式:它与上一代机器上经验的修补非常相似。
那么 ,我们从这种经验中学到了什么?Games的最后一代突出了30fps不一致的方式与实际上并未以30fps运行的游戏非常接近 。它看起来很差,并破坏了整整一代游戏。在这方面,能够用固定的演示玩这些游戏是真正的游戏规则改变者 - 我没有为游戏变得更好而做好准备。但是 ,此三行代码修复只会带您走得太远,而输入滞后的命中非常高 。我认为,恶魔的灵魂翻拍列出了下一个应该去的模板:两种模式下的性能水平一致 ,60fps锁定为目标 - 但看起来甚至在其本来完美无瑕的4K30质量模式下,蓝皮细胞却在输入滞后挣扎。关于工作室正在进行血源性翻拍的机会,这将是欢迎的!
其他学到的教训?最初与被黑客攻击的PS4合作的尝试打开了一系列引人入胜的mod和补丁 ,其中许多来自幻觉本人,通常在Github上可用。Driveclub通过Boost模式在PlayStation 4 Pro上诱人的诱人跑步速度接近60fps,而有趣的是 ,可以看到分辨率扩展与Assassin's Creed Unity和Batman Arkham knight等框架率一起使用的分辨率缩放 。GTA5高于其30fps盖的开销多少?修补的代码显示全部。弊端是显而易见的:冒着被禁止使用PlayStation商店的风险,以及无法在固件9.0以外运行的游戏仅命名其中两个。通常,您也需要编译自己的补丁 - 这并不容易,绝对不建议您使用主PS4控制台 。
相关文章
发表评论