macOS 已能运行(转译)dx12 游戏,包括赛博朋克 2077,艾尔登法环

2023-06-07 20:40:21 +08:00
 t41372

Reddit 上的 r/macgaming 已经炸了。一堆人在放他们在 apple silicon mac 上面玩各个 3A 游戏的视频。我还没试过,不过有很多人放了截图: m1 pro 艾尔登法环 35 帧,只狼 40 帧,m1 赛博朋克 2077 Ultra 设置 15 帧。具体性能和更多游戏建议直接上 reddit 看看。

事情是这样的

在 WWDC 上,苹果发布了一个叫做 Game Porting Toolkit 的工具包,目标是让其他平台的开发者能更轻松的把其他平台的游戏移植到 mac 上,好像包括 shaders 的转译工具之类的。另外他们还发布了一个评估工具,可以让开发者在 mac 上模拟和评估他们在 windows 上发布的游戏的性能。

在 wwdc 主演讲后面的 Plaftform State of the Union 中,苹果展示了关于这些工具的细节。

接着,有人发现,这个工具居然在运行 dx12 的游戏!苹果居然一声不吭的弄了个能在 mac 上跑 dx12 游戏的转译工具?具体可以看 Andrew Tsai 在油管上发的这个视频 Apple hid something AMAZING for Mac gaming at WWDC

随后许多人开始尝试(Game Porting Toolkit 已经放出来了),发现这是真的。(不过只有 macOS Sonoma 才能跑)

如果你不知道这究竟意味着什么,那我可以这么说: 这应该是你能在 mac gaming 这个小众领域里,能找到的最重磅的新闻了(可能仅次于 switch 模拟器 ryujinx 支持 mac 吧)。

首先,大多数最新的 windows 游戏,都需要 dx12 的支持。包括但不限于:艾尔登法环,2077 ,地平线 5 ,双人成行,魔戒:咕噜等。所以这些游戏在过去,想要在 mac 上玩就是天方夜谭。

过去多年,像是 crossover 和 parallels 这样的方案都在不断努力让 mac 玩游戏成为可能,但这都只局限于 dx11 和以前的游戏。根据我之前听到的说法,dx12 有一些东西,在 metal 上就是找不到替代品。事实上,crossover 前阵子才公布了他们第一个 dx12 游戏(这已经是个不小的新闻了),但他们认为他们之后会需要给每个 dx12 游戏单独做适配。parallels 至今还没有适配 dx12 的消息。

然后苹果一个开心,放了个大的,把他们都打爆了。。

11353 次点击
所在节点    macOS
66 条回复
nothingistrue
2023-06-08 09:46:45 +08:00
兄得,「 m1 pro 艾尔登法环 35 帧,只狼 40 帧,m1 赛博朋克 2077 Ultra 设置 15 帧」,知道这对真正的游戏玩家来说是啥概念吗,是「不能玩」。Mac 属于高端轻薄本系列,这系列的 Windows 原生系统,都是无法玩 dx12 游戏的,你就是 100%无性能损耗的模拟,也是屁用没有。第三方工具不适配 DX12 ,不是因为人家不能适配,而是适配了也毫无意义。
eachann
2023-06-08 09:53:12 +08:00
@nothingistrue 确实还是差点意思, 这程度还不如玩 steam deck , 手柄 30 帧至少感觉不到明显卡顿
zapper
2023-06-08 09:54:04 +08:00
要是什么回合制游戏 40 帧我能接收,艾尔登法环 35 帧,只狼 40 帧,这不纯属给自己找不愉快么,虽然说老任塞尔达在那破 NS 上也只有 30 帧不到……还是等继续优化吧
KC35
2023-06-08 09:57:28 +08:00
看来 Apple 为了给 Vision Pro 提供更多的内容,拼了
Satelli
2023-06-08 09:58:29 +08:00
这套 Wine + D3DMetal 的性能 overhead 不少。

https://developer.apple.com/videos/play/wwdc2023/10123/
按照苹果给的样例,在 M2 Max 上通过兼容层运行游戏 The Medium 的 Windows 版本大概是 ~28 FPS (6:25 处),在转制后原生 1080p 能跑 60 FPS (8:07 处),应该是垂直同步的限制了。下方的帧生成时间在 11 - 19ms 之间浮动,对应帧率为 52 - 90 FPS 。

https://www.reddit.com/r/macgaming/comments/14307be/diablo_iv_on_m2_max_using_macos_sonoma_and_game/
有网友在 M2 Max 上运行了 Diablo IV ,1512x982 分辨率特效全高,在跑图的时候 (1:00 处) 大概 85 FPS 。
我的 RTX 2060 (12GB) 在 3440x1440 特效全高,DLSS Performance 档,实际渲染分辨率 1720x720 ,游戏过程中在 60 - 100 FPS 浮动。
MaxLi77
2023-06-08 10:00:01 +08:00
目前来看聊胜于无。跨 os 是一道性能损失,跨 cpu gpu 架构又是一道性能损失。唬一下不太懂这方面新用户小白,让他们以为 mac 可以打游戏,提升一下销量。不过 5 年、10 年后靠性能提升,对于 5 年前,10 年前的游戏来说,力大飞砖,抹平这些性能损耗也不是没可能。
Jirajine
2023-06-08 10:12:33 +08:00
@cwbsw 好久没关注了,不知道 steam deck 发布这么久,有没有给 Linux 下的游戏生态带来质的改变。
以我上次折腾的结果来看,就连 mc 这种原生跨平台的也有 xwayland/NVIDIA 的坑,wine/proton 那一套更是可用性差的离谱,结论就是在 Linux 下打游戏纯属脑子有坑。不知道现在情况如何了。
lzp441321890
2023-06-08 10:35:38 +08:00
我是不是可以用 mac 刷大菠萝 4 了?
tyzandhr
2023-06-08 10:40:14 +08:00
我是不是可以用 mac 打 scg 了?
daveh
2023-06-08 10:40:19 +08:00
@bao3 #10 很多人比如我也用 CrossOver+Steam ,这应该算 mac 用户不是 win 用户。
CrossOver/wine 就是这个 game porting toolkit 的基础,这个一出来,即使很多游戏不打算移植到 mac ,可玩的也多了很多,而 Linux 短期内支持不了 DX12 ,相信你可以从 deck 换回 mac 了。
rivt
2023-06-08 10:49:45 +08:00
FYI, Game Porting Toolkit 在 MacOS Ventura 就能运行了,不用升级到 Sonoma 。

Diablo IV 的教程如下:
https://www.reddit.com/r/macgaming/comments/143ae4f/diablo_iv_on_m1_max_mbp_14_using_macos_ventura_134/
fengtianze
2023-06-08 10:49:57 +08:00
能玩网游么?
newage126
2023-06-08 11:01:04 +08:00
必竟不是原生优化,很多游戏不是还是对 N 卡情有独钟么,macOS 如果不能把全球游戏融入它的生态圈,游戏还是无法抗衡 win
goodryb
2023-06-08 12:01:57 +08:00
有没有中文版的教程, 先解决能不能的问题,在解决好不好
AyaseEri
2023-06-08 12:18:53 +08:00
东西很好,啥时候把盛趣那个破烂登录器也转译一下,FF XIV 国服现在就卡在登录器这一步了。
phub2020
2023-06-08 12:25:32 +08:00
@nothingistrue 30 帧不能玩嘛????我看了下我的王国之泪,默默地流下了眼泪。。。艹,究极手一开,20 帧吧。
ShadowPower
2023-06-08 12:55:06 +08:00
@Jirajine 用 NVIDIA + Wayland 当然会有坑……
steam deck 本身的坑很少,驱动有官方支持,游戏在统一环境的容器中运行,而且仍然在用 x11 。其实 Steam 的兼容性数据库比 Wine/Proton 的发展要落后。很多已经完美兼容,找不到 bug 的游戏目前还标注为“不兼容”。虽然之前确实都运行不起来。
有一部分游戏的性能比在 Windows 下运行要高一些,我不知道是什么原因。
luhe
2023-06-08 13:22:06 +08:00
“目标是让其他平台的开发者能更轻松的把其他平台的游戏移植到 mac 上。”

感觉楼上某些人好像不识字……
haoyh1
2023-06-08 13:22:34 +08:00
啥时候能支持 lol ,我的 pc 台式就可以拆了卖了
Jirajine
2023-06-08 13:51:32 +08:00
@ShadowPower 运行起来可能不难,但稳定性很差。像中文输入法很多都用不了,还有直接 core dump 的,gdb 查半天发现因为 sdl 加载了 im 相关的库,把输入法的环境变量清了才能跑。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/946749

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX