为什么开发 Ember

我觉得,在 Mac 上玩游戏不该只有一条路。

这里写下了开发 Ember 的初衷和目标。

一切始于一个简单的不便

我想用同一台 MacBook 工作、玩游戏。可找了一圈在 Mac 上运行 Windows 游戏的方法,真正实用的选择几乎只有一个,价格也不便宜。

这不是说那个工具不好。我只是觉得,只有一个选择有些可惜。

有竞争,才会进步

Windows 程序能在 Mac 上运行,要感谢 Wine以及 30 多年来一起改进它的人们。DXVK、DXMT、FEX、MoltenVK 等项目,以及在这些项目基础上开发工具的公司和个人,也做出了重要贡献。Ember 同样建立在这些项目之上。

选择多了,开发者也会进步得更快。我希望 Ember 能成为其中一个选择。我们会公开对开源代码所做的修改。

充分发挥硬件性能

我希望游戏也能充分利用 Apple Silicon 的性能。目标是减少运行环境和图形转换过程中的瓶颈, 充分发挥硬件能提供的性能,这就是目标。

因此,图形支持 D3DMetal、DXMT、DXVK,代码转换则同时使用 Rosetta 和 FEX。应用为每款游戏选择最快的路径,再加上 Ember Flow 补帧、Ember Forge 细节修复和 Ember Boost 游戏模式加速。

无需复杂设置

我正在让应用接管游戏的安装、启动和退出后的清理。用户应该不必打开配置文件,也不用记住命令。

遇到问题,可以问 Ember。它会查找原因、调整设置,并保留记录,方便撤销修改。

亲自测量的性能

我想用数字说明性能。以下是在这台 Mac(M4 Pro)上测得的结果,数值会随场景和设置变化。

49.7→37.8 msDXMT · GPU 合成负载测试 · 输入→画面延迟中位数
24→14 msEmber Flow · Rosetta D3DMetal 流畅模式 · 星刃 FHD 显示延迟(四舍五入)
+7%失落的方舟 · 拥挤场景游戏 fps · GPU 结果回读改进
23–29
→17–20 ms
失落的方舟 · 重排前后 · 每 1 秒最大帧时间的中位数
10.2→5.6 ms英灵神殿 · FEX DXMT · FHD · 60 fps 上限 · 关闭补帧时的内部延迟
29 vs 46 msCS2 · Rosetta · DXMT vs D3DMetal · 输入→画面延迟中位数(四舍五入)

10/18–20 smoothjob、spinless、fpslat、realign 对比记录。内部延迟和输入→画面延迟采用不同的测量方法。 查看条件和来源。不保证固定延迟。

无法运行的游戏和不可用的功能,我也会如实列入兼容列表。只展示成功的部分,无助于大家做选择。

— Ember 开发者