V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
t41372
V2EX  ›  macOS

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

  •  4
     
  •   t41372 · 2023-06-07 20:40:21 +08:00 · 11113 次点击
    这是一个创建于 536 天前的主题,其中的信息可能已经有所发展或是发生改变。

    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 的消息。

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

    66 条回复    2023-06-09 14:48:48 +08:00
    agagega
        1
    agagega  
       2023-06-07 20:49:50 +08:00   ❤️ 7
    呃,这个 Game Porting Toolkit 其实也是和 Crossover 一样基于 Wine 的: https://twitter.com/kateinoigakukun/status/1665928024980856833
    Jirajine
        2
    Jirajine  
       2023-06-07 20:58:16 +08:00
    有 linux gaming 更小众吗?
    dxvk 也只支持到 11 ,不知道 Apple 搞得这玩意对 Linux 有没有帮助。
    cwbsw
        3
    cwbsw  
       2023-06-07 21:01:36 +08:00
    @Jirajine 那肯定还是 mac gaming 更小众。光一个 steam deck 的用户可能就比 mac 玩游戏的多了。
    steveshi
        4
    steveshi  
       2023-06-07 21:08:45 +08:00
    @Jirajine #2 Linux 不是有 proton 么
    Ga2en
        5
    Ga2en  
       2023-06-07 21:13:17 +08:00
    @cwbsw 哈哈哈哈哈哈哈哈,你别笑死我,虽然是实话,但是别说出来嘛 : )
    hsir
        6
    hsir  
       2023-06-07 21:19:54 +08:00   ❤️ 2
    太厉害了!然后上架 Mac App Store ,一个游戏卖两千。
    mxT52CRuqR6o5
        7
    mxT52CRuqR6o5  
       2023-06-07 21:32:30 +08:00 via Android
    这不比那 avision 务实的多
    exgphe
        8
    exgphe  
       2023-06-08 00:30:06 +08:00   ❤️ 1
    @cwbsw 只考虑 Steam 玩家数量的话,现在 Steam 的 macOS 用户占比为 2.39%,Linux 用户占比为 1.47%,其中 Arch Linux 占有率为 0.15%。即使所有 Arch Linux 用户都是 Steam Deck 用户,也不可能比 Mac 用户多。
    gpt5
        9
    gpt5  
       2023-06-08 00:31:06 +08:00
    egpu 本可以大显身手的!
    bao3
        10
    bao3  
       2023-06-08 01:12:49 +08:00   ❤️ 1
    @exgphe steam mac 用户,应该领游戏或者买游戏居多,我这么多年 steam 在 mac 上都是开机挂着,或者打开游戏测试一下,从来不玩,要玩也是 steam deck……
    xymeng16
        11
    xymeng16  
       2023-06-08 04:16:35 +08:00 via Android
    @cwbsw 考虑这一点,用 mac 玩游戏的确实不多,但把定语换成玩游戏的 mac 用户,这个数量级就高太多了
    lslqtz
        12
    lslqtz  
       2023-06-08 05:19:52 +08:00
    &t=110s
    lslqtz
        13
    lslqtz  
       2023-06-08 05:20:41 +08:00   ❤️ 1
    @agagega 关键不在于此, 而在于苹果支持了 D3D9 至 D3D12 转换 Metal 3.
    lslqtz
        14
    lslqtz  
       2023-06-08 05:22:03 +08:00
    @Jirajine 没有帮助, 因为苹果实现的是 Metal 兼容层. 对这个兼容层的相关代码似乎还限制了许可证.
    lslqtz
        15
    lslqtz  
       2023-06-08 05:36:56 +08:00
    gap
        16
    gap  
       2023-06-08 07:27:49 +08:00 via iPhone   ❤️ 1
    暗黑 2 重制版也能咯!?
    sharpy
        17
    sharpy  
       2023-06-08 08:13:51 +08:00
    @Jirajine 我记得应该还有个 vkd3d ,用来映射 dx12 的,Apple 搞的这个肯定对 Linux 虚拟机有帮助,没准等下一版本 pd 就可以支持 dx12 了
    ggmood
        18
    ggmood  
       2023-06-08 08:14:50 +08:00 via iPhone
    魔兽 3 和红警 2 这种也能玩了?
    ggmood
        19
    ggmood  
       2023-06-08 08:23:13 +08:00 via iPhone
    @gap 还有帝国时代😁
    daveh
        20
    daveh  
       2023-06-08 09:16:35 +08:00 via iPhone   ❤️ 1
    @Ga2en #5 哈哈哈哈哈哈哈哈哈,8 楼拿数据打你脸了,赶紧反驳去。
    nothingistrue
        21
    nothingistrue  
       2023-06-08 09:46:45 +08:00   ❤️ 1
    兄得,「 m1 pro 艾尔登法环 35 帧,只狼 40 帧,m1 赛博朋克 2077 Ultra 设置 15 帧」,知道这对真正的游戏玩家来说是啥概念吗,是「不能玩」。Mac 属于高端轻薄本系列,这系列的 Windows 原生系统,都是无法玩 dx12 游戏的,你就是 100%无性能损耗的模拟,也是屁用没有。第三方工具不适配 DX12 ,不是因为人家不能适配,而是适配了也毫无意义。
    eachann
        22
    eachann  
       2023-06-08 09:53:12 +08:00
    @nothingistrue 确实还是差点意思, 这程度还不如玩 steam deck , 手柄 30 帧至少感觉不到明显卡顿
    zapper
        23
    zapper  
       2023-06-08 09:54:04 +08:00   ❤️ 1
    要是什么回合制游戏 40 帧我能接收,艾尔登法环 35 帧,只狼 40 帧,这不纯属给自己找不愉快么,虽然说老任塞尔达在那破 NS 上也只有 30 帧不到……还是等继续优化吧
    KC35
        24
    KC35  
       2023-06-08 09:57:28 +08:00
    看来 Apple 为了给 Vision Pro 提供更多的内容,拼了
    Satelli
        25
    Satelli  
       2023-06-08 09:58:29 +08:00   ❤️ 2
    这套 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
        26
    MaxLi77  
       2023-06-08 10:00:01 +08:00
    目前来看聊胜于无。跨 os 是一道性能损失,跨 cpu gpu 架构又是一道性能损失。唬一下不太懂这方面新用户小白,让他们以为 mac 可以打游戏,提升一下销量。不过 5 年、10 年后靠性能提升,对于 5 年前,10 年前的游戏来说,力大飞砖,抹平这些性能损耗也不是没可能。
    Jirajine
        27
    Jirajine  
       2023-06-08 10:12:33 +08:00
    @cwbsw 好久没关注了,不知道 steam deck 发布这么久,有没有给 Linux 下的游戏生态带来质的改变。
    以我上次折腾的结果来看,就连 mc 这种原生跨平台的也有 xwayland/NVIDIA 的坑,wine/proton 那一套更是可用性差的离谱,结论就是在 Linux 下打游戏纯属脑子有坑。不知道现在情况如何了。
    lzp441321890
        28
    lzp441321890  
       2023-06-08 10:35:38 +08:00
    我是不是可以用 mac 刷大菠萝 4 了?
    tyzandhr
        29
    tyzandhr  
       2023-06-08 10:40:14 +08:00 via Android
    我是不是可以用 mac 打 scg 了?
    daveh
        30
    daveh  
       2023-06-08 10:40:19 +08:00 via iPhone   ❤️ 1
    @bao3 #10 很多人比如我也用 CrossOver+Steam ,这应该算 mac 用户不是 win 用户。
    CrossOver/wine 就是这个 game porting toolkit 的基础,这个一出来,即使很多游戏不打算移植到 mac ,可玩的也多了很多,而 Linux 短期内支持不了 DX12 ,相信你可以从 deck 换回 mac 了。
    rivt
        31
    rivt  
       2023-06-08 10:49:45 +08:00   ❤️ 2
    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
        32
    fengtianze  
       2023-06-08 10:49:57 +08:00
    能玩网游么?
    newage126
        33
    newage126  
       2023-06-08 11:01:04 +08:00   ❤️ 1
    必竟不是原生优化,很多游戏不是还是对 N 卡情有独钟么,macOS 如果不能把全球游戏融入它的生态圈,游戏还是无法抗衡 win
    goodryb
        34
    goodryb  
       2023-06-08 12:01:57 +08:00
    有没有中文版的教程, 先解决能不能的问题,在解决好不好
    AyaseEri
        35
    AyaseEri  
       2023-06-08 12:18:53 +08:00
    东西很好,啥时候把盛趣那个破烂登录器也转译一下,FF XIV 国服现在就卡在登录器这一步了。
    phub2020
        36
    phub2020  
       2023-06-08 12:25:32 +08:00
    @nothingistrue 30 帧不能玩嘛????我看了下我的王国之泪,默默地流下了眼泪。。。艹,究极手一开,20 帧吧。
    ShadowPower
        37
    ShadowPower  
       2023-06-08 12:55:06 +08:00
    @Jirajine 用 NVIDIA + Wayland 当然会有坑……
    steam deck 本身的坑很少,驱动有官方支持,游戏在统一环境的容器中运行,而且仍然在用 x11 。其实 Steam 的兼容性数据库比 Wine/Proton 的发展要落后。很多已经完美兼容,找不到 bug 的游戏目前还标注为“不兼容”。虽然之前确实都运行不起来。
    有一部分游戏的性能比在 Windows 下运行要高一些,我不知道是什么原因。
    luhe
        38
    luhe  
       2023-06-08 13:22:06 +08:00 via iPhone   ❤️ 2
    “目标是让其他平台的开发者能更轻松的把其他平台的游戏移植到 mac 上。”

    感觉楼上某些人好像不识字……
    haoyh1
        39
    haoyh1  
       2023-06-08 13:22:34 +08:00 via iPhone
    啥时候能支持 lol ,我的 pc 台式就可以拆了卖了
    Jirajine
        40
    Jirajine  
       2023-06-08 13:51:32 +08:00
    @ShadowPower 运行起来可能不难,但稳定性很差。像中文输入法很多都用不了,还有直接 core dump 的,gdb 查半天发现因为 sdl 加载了 im 相关的库,把输入法的环境变量清了才能跑。
    Awes0me
        41
    Awes0me  
       2023-06-08 14:45:42 +08:00   ❤️ 2
    @nothingistrue 任天堂: 原来我的客户都不是真正的游戏玩家
    MCVector
        42
    MCVector  
       2023-06-08 14:51:56 +08:00
    @Jirajine AMD 的驱动确实比原来好多了,甚至比 win 上的好
    chrisia
        43
    chrisia  
       2023-06-08 14:58:08 +08:00
    感觉这个的意义还是开发者做移植,通过工具直接把 DX12 移植到 Metal ,估计性能基本没损耗。
    AnyTurtle999
        44
    AnyTurtle999  
       2023-06-08 15:27:09 +08:00
    @luhe 看着一个性能损耗一半的帧数说不能玩不能玩😆
    fox2081
        45
    fox2081  
       2023-06-08 16:00:16 +08:00
    虽然目的是吸引厂商移植,但作为玩家我实在想不到用 mac 玩游戏的理由,之前的 Arcade 服务体验也是非常一般,目前市面上主流的游戏设备:XSX 、PS5 、Deck 、Quest2 、NS 等价格都在 3k 左右或低于这个价格,我既然能买得起 mac ,多花几千买个体验更好的主机或者更加便携的掌机不好吗
    edinina
        46
    edinina  
       2023-06-08 16:20:41 +08:00
    说 30 40 帧不能玩的,是说现在稳定 60 帧的游戏很多吗?
    HandSonic
        47
    HandSonic  
       2023-06-08 16:31:50 +08:00
    @daveh Linux 早就可以 DX12 转 Vulkan 了 (Vkd3d), 不然 Steam Deck 怎么运行的埃尔登法环之类的 DX12 游戏?
    alexzuo
        48
    alexzuo  
       2023-06-08 16:59:08 +08:00 via iPhone
    我觉得成熟了的话,普通 3A 能达到中画质 30 帧
    soulwait
        49
    soulwait  
       2023-06-08 16:59:31 +08:00
    打架 打架~
    alexzuo
        50
    alexzuo  
       2023-06-08 17:03:20 +08:00 via iPhone
    @alexzuo 刚才手快发布了,没说完。
    我的意思是应该能在头显上,以比较高的分辨率,稳定跑中画质 30 帧,甚至更高。
    否则头显就少了一个关键使用场景。
    t41372
        51
    t41372  
    OP
       2023-06-08 17:51:35 +08:00 via Android   ❤️ 8
    @fox2081 很多人可能不怎么打游戏,可能顶多每年一两款差不多了。如果能把已经有的,性能也挺不错 mac 拿来打游戏,不是很棒吗?

    如果你玩游戏 40 多帧差不多了,能玩就行要求也不高,就没有必要去花几千去买个可能只有几款游戏的游戏机了。买的起 mac 又不意味着钱是大风刮来的。

    不会有人为了打游戏去买 mac 的,但这不意味能把 mac 的性能利用上来打游戏是没有意义的。许多人,特别是长期的 mac 用户,他们几乎从不接触这些游戏,因为他们的电脑没办法跑这些游戏。但这难道意味着他们不喜欢玩游戏吗?更多只是没机会接触罢了。

    自从我弟交女朋友之后,他偶尔会跟他女朋友玩点胡闹厨房之类的双人游戏。而在我跟我一个室友玩过双人成行(...)之后,我就一直想把这个游戏推荐给他和他女朋友玩。但是他和他女朋友用的都是 mac ,而双人成行是一款 dx12 的游戏。他们会玩游戏,但不会花个几千去专门买个 windows 电脑或是游戏机。以这个角度来说,让 mac 支持更多的游戏绝对是非常有意义的事。
    t41372
        52
    t41372  
    OP
       2023-06-08 17:55:05 +08:00 via Android   ❤️ 2
    @nothingistrue 那这个世界上还有许多“虚假的游戏玩家”,这对他们是有意义的。
    比如,现在回覆你的就是一个在自己老 surface book 2 上以 35-40 帧打了 120 小时法环的虚假的游戏玩家。
    daveh
        53
    daveh  
       2023-06-08 18:56:41 +08:00 via iPhone
    @HandSonic 我是指完整支持,用原生 wine 很多跑不起来,据新闻说 CrossOver 官方也说只是支持部分游戏的 DX12 ,相比之下据说苹果这个支持 DX12 比较全。
    不过 Deck 这个又查了一下用的是 vkd3d-proton ,比 vkd3d 完整一些,可能是会支持更多游戏,并针对某些显卡、游戏优化。
    zhangsimon
        54
    zhangsimon  
       2023-06-08 19:53:37 +08:00
    @edinina switch 玩家暴怒😡
    aflow
        55
    aflow  
       2023-06-08 20:01:20 +08:00 via Android
    应该没多少人用 mac 玩这类游戏的,按照苹果的存储价格,仅仅是安装 2077 就需要 800 元
    darkengine
        56
    darkengine  
       2023-06-08 20:12:46 +08:00
    什么时候能流程巫师 3
    MiketsuSmasher
        57
    MiketsuSmasher  
       2023-06-08 21:07:47 +08:00
    Linux 不支持 DX12 ?你们大概是没了解过 VKD3D ,Steam Proton 正在用的
    https://github.com/HansKristian-Work/vkd3d-proton/
    t41372
        58
    t41372  
    OP
       2023-06-08 21:10:14 +08:00
    @darkengine 我记得很早就可以了。巫师 3 是 dx11 的游戏。
    privater
        59
    privater  
       2023-06-09 02:32:35 +08:00
    连 Diablo 都放弃 Mac 平台了,还不够说明问题吗... 要说当年 Blizzard 还是最挺 Apple 的游戏开发商,WoW ,SC/SC2 ,Diablo 3 等主流游戏都提供了 Mac 版本。现在连 PC 玩家都是被主机移植劣质优化喂屎,Mac 再去转译两遍算个什么。把花在 M1/M2 CPU 升级上的钱省下来买个主机玩游戏舒服的多。
    hhylx1950
        60
    hhylx1950  
       2023-06-09 02:44:06 +08:00
    @nothingistrue 血源在 ps4 上也就 30 帧...我大概属于要求比较低的游戏玩家,只要帧率稳定,30 帧甚至 20 帧都可以
    LJNlol
        61
    LJNlol  
       2023-06-09 09:44:57 +08:00
    我有个问题🤔,如果是 DX->Metal 的直接转换,那么苹果必然对 DX 进行了逆向工程,感觉容易吃微软官司哎。
    或者苹果用了别的方法,这里的转换并非 DX->Metal 的直接转换,而是经过了某个中间层?又或者这中间存在什么空白,让苹果钻了授权的空子?毕竟社区的 DXVK 和 VKD3D 也是对 DX 的逆向,但活的好好的
    不论如何 Mac 能运行的游戏变多肯定是好事
    maxmak
        62
    maxmak  
       2023-06-09 11:41:28 +08:00
    @LJNlol 应该不会吃微软官司,毕竟是最优秀的开发者
    ravoxzou
        63
    ravoxzou  
       2023-06-09 13:20:55 +08:00
    我觉得是个好的开始,我御三家主机都买了,买 mac 当然不是为了打游戏,但是我觉得 mac 如果能运行更多的游戏挺好的,哪怕只是一些经典老游戏移植过来,m 系列芯片是有潜力的
    DsuineGP
        64
    DsuineGP  
       2023-06-09 14:24:50 +08:00
    @alexzuo 头显 30FPS, 我怕是把前天早上吃的热干面都得吐出来🤦

    而且新发布的头显明显不是给消费级用户准备的
    loveaeen
        65
    loveaeen  
       2023-06-09 14:35:41 +08:00
    目前的确用 mac ventura 玩了 2 天 diablo 4.
    体验感还可以,就是偶尔会突然卡顿一下
    gromit1337
        66
    gromit1337  
       2023-06-09 14:48:48 +08:00
    @haoyh1 #39 呃,一直可以玩 lol 啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6052 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 72ms · UTC 02:25 · PVG 10:25 · LAX 18:25 · JFK 21:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.