《宇宙机器人》非官方移植上 PC,128 帧是插出来的(宇宙机器人1和2的区别) szthrk.cn

128 帧这个数字,得先看清是怎么来的。

GitHub 上出现了一个叫 AstroHybrid 的项目,版本 1.0.2,公开。它把 PS5 上的《宇宙机器人》弄到 Windows 上跑起来了。要注意,这不是索尼做的——索尼第一方至今没宣布过这款游戏的 PC 版,项目由一位个人开发者在 GitHub 发布,跟官方没关系。

技术路径和模拟器不一样。它用 AnyPS5 把游戏的 x86-64 代码重新链接成 Windows 可执行文件,同时把主机系统库换成原生版本;图形那一层借用 KytyPS5,把 PS5 的图形调用翻译成 Vulkan。换句话说,代码是重新接的,不是逐条模拟出来的。

DLSS 是这么接上的:项目接管了游戏原本的时性超采样通道,把颜色、深度和运动矢量通过 NVIDIA 的 Streamline SDK 交给 DLSS 处理。Reflex 一并接进来了,帧生成也就能用。

开发者放出的实测环境是 Ryzen 5 5500、RTX 5060、32GB 内存、1440p。负载最重的 SkyGarden 场景,原生渲染 32 到 34 帧;其他场景好一些,37 到 53 帧。开普通帧生成,画面显示约 63 帧;切到 4 倍多帧生成,数字就上到 124 到 128。

所以那个 128 不是渲染出来的。显卡每一秒真正画出来的还是 32 张左右,多出来的帧由算法在中间补,补三张凑四张。这个区别在静态截图里看不出来,动起来感受得到。

感受的核心是延迟。帧生成提高的是画面流畅度,不改变你的操作什么时候被游戏接收。原生 32 帧,输入延迟本来就不低;插到 128 帧,画面顺了,手感还是那个手感。Reflex 能压掉一部分渲染队列带来的延迟,但压不掉帧生成本身的等待。这个项目目前的输入延迟数据,开发者还没测。

更麻烦的是 CPU。这套方案里,每一帧大约 30 毫秒,其中约 22 毫秒花在单线程提交绘制调用上。瓶颈卡在这儿,把分辨率从 1440p 降到 1080p 甚至 720p,也不会有多少改善——显卡本来就没跑满,是 CPU 在排队。想靠调画质救帧数,这条路基本堵死。

帧生成还有个代价:基础帧率越低,插帧的错误越明显。32 帧补到 128,帧与帧之间的差异大,快速镜头运动时容易出现边缘拖影和残影,尤其是画面里物体互相遮挡的地方。数字越漂亮,这个问题越突出。

不过放在《宇宙机器人》这款游戏上,插帧的适配性其实比多数作品好。它是平台跳跃,节奏由玩家自己控制,对输入精度的要求没有射击游戏那么苛刻,视觉平滑带来的收益相对更大。同样的 32 帧,换成一款快节奏 FPS,评价会难听得多。

还有个意外之处:手柄。项目原生支持 DualSense,自适应扳机、震动、体感全部可用,Xbox 手柄和 Switch Pro 手柄也兼容。这条比帧数更难得——PS5 手柄那套特性在 PC 上完整还原,不少官方移植作品都做不到。

想试的人得先弄清两件事。一是这个项目不附带任何游戏文件,需要自己准备对应版本(01.019.000)的解密转储;二是前段时间出现过假冒 KytyPS5 和 AnyPS5 的仓库在散播恶意软件,认错地址的代价不小。

顺带一提,索尼 11 月刚把 PlayStation 独占标签挂回商店页面,官方口径是单人游戏不再做 PC 移植。这个项目是民间行为,跟那份政策没有关系,也说明不了官方态度会变。

32 帧插到 128 帧,画面是顺了,手上的感觉没变。这种"假帧率",你接受吗?

(图源网络,侵删。)