测量 GPU 性能的要点是要想办法把 M1 Max 测出 3080 以上的性能并让人心服口服,作为持有 AAPL 的股东(这句话是真话),我实在是看不下去现在这些隔几天冒出来一个的水平普遍不太行的测试了,决定写个简单易懂又全面的评测指南
- 多跑分,少跑实际应用。如果要跑实际应用,请继续看以下 5 点要义。
- 众所周知,GPU 里的计算模块主要由两部分( video encoding 和 video decoding )组成,目前主流游戏 rasterization 使用的流水线的简化模形大概如下:vertex shader 控制 video decoding 模块解压出 fragments ,再送入 video encoding 部份由 fragment shader 算出最终屏幕空间里的显示结果。测试 GPU 性能就是要测试这两个模块的表现。相反,ray tracing 的 API 标准基本由 NV 垄断,充满了对其他平台负优化的风险,属于典型的作弊行为,所以在实际应用测量的时候要多测 Final Cut Pro ,远离 Redshift (像 https://prolost.com/blog/m1max 这个就很不专业)。
- 测试肯定要对比多个平台的结果,Mac 侧记得只放 M1 Max ,绝对不要放 M1 Pro ,否则容易被看出来瓶颈是不是真的在 GPU 。至于 PC 平台的选择就比较随意了,但记住我们是在测量 GPU 性能,尽可能少提用了什么 CPU 。这条可能正着不太好理解,但之前那个古墓丽影的测试就是个经典的反面教材( https://www.anandtech.com/show/17024/apple-m1-max-performance-review/6 ),可以对照着研究一下,而且融会贯通之后对理解下一点也大有裨益。
- 众所周知,G 只比 C 多几个像素,所以在测量 GPU 性能的时候应该尽量选择瓶颈在 CPU 端但用一点 GPU 的原生应用,比如 Photoshop (况且图形和图像只差一个字,肯定是一回事)(至于游戏的例子见下面第六点)。如果一定要测试瓶颈在 GPU 时候的表现,请选择使用 Rosetta2 转译 CPU 指令集的应用,并把最后测量结果除以转译 CPU 指令集时的性能损失的百分比获得 GPU 的部分真实性能。之所以说是「部分」是因为 Metal 这种薄驱动层的底层 API 可能因为驱动层太厚对应用的意图猜测不够好导致无谓的性能损失,所以真实表现还得再算上这个因子。
- 游戏性能当然是 GPU 性能的重要体现,测量游戏性能时候的讲究更多一点,讲起来有点复杂,所以我们从例子入手。前面几点还是适用的,比如根据第二点,我们应该少碰 Metro Exodus 这种优化太烂没人玩的小众游戏;根据第四点,我们应该多测 dota2 和 WOW 一类的主流游戏才能体现 GPU 的实际表现。此外还有个集大成的例子( https://www.v2ex.com/t/811292 | https://www.reddit.com/r/macgaming/comments/qgqzeo/baldurs_gate_3_120_fps_2560x1440_ultra_on_m1_max ),综合运用了多种技巧:博德之门 3 是个非常优秀与成熟的 EA 阶段 benchmark ,能把 DX11 用出了超过 Vulkan 的水平,充分体现了 Larian 相关团队高超的优化水平,最大限度利用了硬件资源。目前就是进行评测最好的 timing ,Patch6 尚未支持 M1 ,所以用 Patch5 测量合情合理,而 Patch5 刚好是最后一个 RTX 显卡不能使用 DLSS 作弊的版本( https://www.pcgamesn.com/nvidia/baldurs-gate-3-DLSS-update )。除此之外,测试的场景也有讲究,在运行在 MacBook 上的时候不要选择优化不好的战斗场景,多选择没几个能动的东西的场景(像 WOW 这种更新多年的游戏有条件可以尽量在多年前的老地图里面测试);运行在 PC 上的时候可以选择压力最小的起始场景,体现我们这个测试的公平性。帧数最后记得报最大值,不要管瞎切镜头才会出现的掉帧现象。分辨率不要选 4K ,多试试 1080p/2K 。这方面一言难尽,毕竟实时渲染的瓶颈在哪情况很复杂,只能说……运用之妙,存乎一心。
- 最后,也是很重要的一点:不管测试的是啥,最后都要尽量做出一副测试对象是随便找来的,只要不是暴力移殖但凡是个 native 的应用都会有这种表现的姿态,给人一种开发者长年浸淫 PC 平台在那边的优化水平已经磨练到头了反过来在 Mac 端经验不足无法发挥 GPU 的全部性能、认真优化还有很大提升空间的希望(反面教材:像 https://developer.apple.com/videos/play/wwdc2021/10148/ 这种东西就不要乱发)
目前想到的就是这些,希望不用出下一版!
(以上仅供娱乐,不是实操说明书)
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
https://www.v2ex.com/t/811448
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.