Bring your game to Mac, Part 1: Make a game plan
Graphics & Games 进阶 20m

将游戏带到 Mac,第一部分:制定计划

Bring your game to Mac, Part 1: Make a game plan

2023年6月5日

在 Apple 官方观看视频

一句话判断

Game Porting Toolkit 让你在几分钟内看到 Windows 游戏在 Mac 上的潜力,这是游戏移植的起点而非终点。

这场 Session 讲了什么

Apple 推出了 Game Porting Toolkit(游戏移植工具包),这是一个模拟环境,让你无需修改就能在 Mac 上运行现有的 Windows DirectX 游戏。通过它,开发者可以快速评估游戏的图形功能使用情况和性能潜力。

工具包翻译游戏的 Intel 指令和 Windows API 调用,包括键盘/鼠标/手柄输入、音频播放、网络和文件系统使用,以及图形——所有现代图形功能都支持,如 GPU 驱动的管线、SIMD 操作,甚至老式的曲面细分和几何着色器。

Session 以 Bloober 的《The Medium》为实例,演示了完整的评估流程:在终端启动游戏、观察日志、使用增强的 Metal Performance HUD 监控性能、使用 Instruments 捕获 Metal System Trace 分析问题。重要的是,工具包运行时的性能包含了所有翻译开销,原生移植会有显著提升。

Metal Shader Converter 是另一个关键工具,可以自动将所有 HLSL GPU 着色器转换为 Metal 着色器。

值得深挖的点

增强版 Metal Performance HUD 在 Game Porting Toolkit 模式下提供了更详细的信息。除了标准的帧率和 GPU 使用率,它还展示了指令集翻译的开销、Direct3D API 版本、渲染编码器数量、命令缓冲区数量,以及每帧使用的各种图形功能(如几何着色器、曲面细分着色器)的数量。

评估工作流建议:先用工具包运行游戏获取基准性能,然后使用 Metal System Trace 分析瓶颈。常见的性能问题——如 GPU 时间线上的巨大间隙和未调度工作的帧——通常是指令翻译或 API 翻译的开销,在原生移植后会消失。

代码片段

# 启动 Game Porting Toolkit
# 1. 安装工具包
# 2. 复制 Windows 构建到 Mac
# 3. 从终端启动游戏

# 使用 Metal Performance HUD 监控
# HUD 显示翻译开销、D3D API 版本、
# 渲染编码器/命令缓冲区/调度数量等

# 使用 Instruments 捕获 Metal System Trace
# 分析帧率和 GPU 利用率
# 找到帧丢弃的原因

最佳实践

  • 首先用 Game Porting Toolkit 评估,不要急于开始移植
  • 使用增强版 HUD 监控性能,找出瓶颈
  • 用 Instruments 的 Metal System Trace 深入分析
  • 记录工具包运行时的日志,注意潜在问题
  • 原生移植的性能会显著优于翻译运行

还有什么值得关注

  • Metal Shader Converter 自动转换 HLSL 到 Metal
  • 系列的第二和第三部分覆盖着色器编译和 Metal 渲染
  • 性能优化建议:采用 MetalFX 升采样
  • Apple Silicon Mac 的扩展动态范围显示特性
WWDC 2023