《光环:无限》案例研究
在 Xbox,我们对玩家和行业的承诺是减少游戏对环境的影响。 玩家越来越意识到游戏能源成本和视频游戏对环境的影响。 游戏发行商对加强环境管理也越来越感兴趣。 我们希望分享一系列精选示例,其中游戏以某种方式引入了能效优化,使玩家在沉浸在游戏体验中时无法察觉。 有无数的方法可以将节能创意传递到游戏中,从菜单或大厅,到游戏处于空闲状态时发生的情况,甚至在特定条件下的游戏过程中发生的情况。
注意
你知道吗...如果游戏平均消耗 160W,并且一年内每天播放 3 小时,则可以使用大约 175 千瓦时的电力。 乘以超过10万台设备,根据 EPA的计算器 ,相当于1350万磅煤燃烧的温室气体排放。 只要将能源效率稍稍提高 10%,就可以产生令人印象深刻的环境影响。
Halo Infinite
在听到 Xbox 可持续发展总监 Trista Patterson、光环制作人亚历克斯·勒·布利考特和高级技术艺术家斯宾塞·科帕奇(Spencer Kopach)的号召后,成立了 343i 的可持续发展工作组,估计了运行 Halo 游戏所需的电力,并利用此信息来激励工作室之间的协作。 343 成为 Xbox 第一个参与 A/B 试验的案例,以减少与游戏开发相关的能耗和碳排放。 使用 Power Monitor 工具,343i 建立了基线:在以 4K/60FPS 运行的 Xbox Series X 上,平均 GPU 使用率约为 92%,这意味着平均功耗为 67.5%。 通过进一步试验,343i 意识到,即使游戏暂停并模糊显示设置菜单,4K 图像仍呈现在玩家看不到的背景中。 通过降低暂停菜单中的分辨率,343i 能够将能耗降低 15%,而不会对玩家体验产生负面影响。 考虑到这些见解,343i 正在探索更大的节能潜力。
Halo Infinite 的团队很快找到了降低菜单中功耗的方法,而不会对游戏保真产生负面影响。 以下部分快速总结了他们发现的性能改进。
Armor Hall 菜单中的功耗
第四阶段中的第一阶段: 在光环无限的盔甲大厅,343工业以4K和60 FPS提供这些菜单。
- 平均 GPU:96.2%
- 平均功率:67.5%
你可以在下面看到,在以 4K/60FPS 运行的 Xbox Series X 上,平均 GPU 使用率约为 92%。 这表示整体系统平均功耗为 67.5%。 此数字包括 GPU、CPU 和主机的其他组件。
第二阶段(共四个阶段): 第二阶段显示当我们降至 30 FPS 时会发生什么情况。
- 平均 GPU:49.2%
- 平均功率:42.2%
- GPU 节省:49.4%
- 节能: 37.5%
功耗从 67% 将降至 42%。 从 60 FPS 降至 30 FPS 时,这总共可节省 37%。 唯一的问题是,帧速率更改有时可能非常明显,并且如果我们正在播放的监视器不支持变量刷新率之类的内容,可能会导致不良影响。 总体而言,生成帧速率下降以保持菜单的高保真度和简洁保真度需要更多开发时间,这对于团队是不需要的。 没问题。 因此,我们决定改为关注解决方案。
第四阶段中的第三阶段: 当我们从 4K 图像转换为 1080p 图像时,可在下面看到类似的结果,但保持 60 FPS。
- 平均 GPU:34.7%
- 平均功率:43.5%
- GPU 节省:64.3%
- 节能: 33.6%
使用此解决方案时,我们的基线功耗从 67.5% 降低到 1080p 时的 43.5%, 这大约节省了 34% 的电量。
我们决定探索分辨率更改,因为它似乎是我们可以做出的最容易的减少,而不会影响我们的玩家期望的图像质量。 诀窍是将这些分辨率下降隐藏在玩家看不到的地方,比如我们的游戏暂停菜单。 稍后会详细介绍。
由于易读性原因(尤其是辅助功能),我们无法降低 UI 解析,但是 Halo Infinite 中的功耗略有降低,我们不希望在辅助功能方面造成损害。
第四阶段(共四个阶段): 最后,下图显示了如果我们同时降低分辨率和帧速率,可以节省哪些成本。
- 平均 GPU:27%
- 平均功率:30%
- GPU 节省:72%
- 节能: 55.6%
我们可以将功耗降低一半以上的基线,即 67.5% 与 30% 的平均功耗。 将来,我们希望进一步调查在不影响玩家体验的情况下减少这两个参数的机会。 这是我们的可持续性团队当前在个人开发期间在后台调查的内容。
最后,Halo Infinite 只选择了降低分辨率,因为它最容易实现,对玩家的体验风险或影响最小。
游戏暂停菜单中的功耗
调查期间,我们的团队意识到,当游戏暂停且屏幕模糊以显示设置时,我们仍在后台呈现 4K 图像,尽管我们的玩家甚至看不到这些资产。 因此,我们决定降低暂停菜单的分辨率,以便在不影响玩家体验的情况下降低功耗。
然后,我们的图形工程师 Andrew Nolan 实现了此工作,他开发了渐进式解析系统以供启动。
“暂停”菜单中的较低分辨率显著降低了 GPU 上的负载,从而降低了 15% 的功耗。 当然,也可以通过降低帧速率来节省额外的成本。
下图显示了我们的市场活动游戏在 Xbox Series X 上以 4K/60 FPS 运行。 我们测量了多台设备的功耗,并确认我们的总功耗是 GPU + CPU 容量的 64%,或 185 瓦的总交流功率。
下图演示了我们的可持续性功能在操作上的好处:游戏在同一位置暂停,但分辨率会自动降至 1080p。 更改后,我们能够测量 GPU + CPU 上的 55% 的功耗,或者总交流电量为 165 瓦。
总之,我们将节省 15% 的功耗,而不会对玩家体验产生任何影响。 结果对玩家不可见。 一旦我们开发了功能更改,我们便能够证明我们可以协同工作并赢得领导团队的信任。
第一个小步骤也是为我们的团队和其他团队定义基准的机会,并开始考虑将来更大的节能机会。
在菜单中实现 2.5D
3D 菜单已证明它们可以达到高质量标准,同时为玩家提供出色的体验。 当你拥有大量资源和执行时间时,此系统非常有效,但是,如果你有资源争用和快速的周转时间,则这可以很快开始对抗自身。 我们着手改进此系统,以便我们可以更快地与较小的团队进行迭代,同时保持我们的质量标准。 通过这次大修,它还为我们提供了调查这些完整 3D 菜单中的功耗的机会,看看在可持续性方面是否有任何改进,我们可以在新的 2.5D 设置中实现更好的功耗。
什么是 2.5D?
简言之,2.5D 游戏可以融合两全其美,提供深度感知,同时保持游戏简单性。 那么有什么区别呢?
3D 设计:
- 环境:在 3D 游戏中,游戏世界以三个维度存在:长度、宽度和深度。 玩家可以在此 3D 空间内向所有方向自由移动。
- 图形:3D 模型用于表示字符、对象和环境。 这些模型具有深度、体积,并且可以旋转以从不同角度查看。
2.5D 设计:
- 环境:2.5D 游戏结合了 2D 和 3D 元素。 它描绘了 2D 环境,但包含 3D 游戏玩法,反之亦然。
- 图形:虽然角色模型可能显示为 3D,但背景对象通常使用 2D 子画面而不是完全建模的 3D 对象来表示。
- 透视:游戏可能使用等距透视,该透视呈现 2D 对象,就像由于视角而呈现 3D 对象一样。
实现 2.5D 的优点是什么?
优点:
- 最小数量的组件
- 易于升级
- 完全支持 UGC 字符
- 可以在任何 DCC 工具包 (创建 2D 背景图像,例如Unity、Faber、Unreal、Maya 等 )
- 背景图像可以在内部生成,也可以外包
- 加载时间应显著缩短
- 游戏玩家设备的功耗和能耗费用应较低
限制:
- 需要点亮 3D 头像以匹配新的 2D 背板
- 背景不支持运动
- 无法在 UGC 头像上支持 DOF,但你可以将 DOF 烘焙到背景图像中
节能测量
对于此功耗比较,我们比较了 Xbox Series X 3D 菜单与新的 2.5D 菜单实现。 我们的游戏实际零售版本具有动态分辨率,因此这些菜单的分辨率会根据 GPU 使用量动态缩放,从而最大程度地提高性能,并始终尽可能提供最高分辨率。 但是,通过内部配置文件模式,我们能够将分辨率保持锁定状态,以便获得一致的 PIX 电源使用数字。
在进行任何更改之前,我们在 GDK 中使用 PIX 中的 Power Monitor 测量了配置为原始 3D 图形的多人游戏屏幕的平均功耗。 进行任何更改前的 3D 菜单平均占主机功率预算的 64.8%。 下表演示了更改为 2.5D...
内部解析 | 帧速率 | 2.5D 功率测量 | 说明 |
---|---|---|---|
2400 x 1800 | 60 FPS | 47.5% | 在升级和降低帧速率之前降低内部分辨率将节省大部分成本 |
1920 x 1080 | 30 FPS | 26.3% | 即使以更高的分辨率锁定,2.5D 菜单也能节省大量成本 |
1920 x 1080 | 60 FPS | 35.8% | 在升级之前放弃内部分辨率将节省更多成本 |
通过锁定分辨率上限并实现 2.5D 设置,你将看到大约 30% 的节省。 为了进一步推动这一点,降低分辨率,并在升级之前锁定它将回购进一步节省。
2.5D 开发资源和节省
我们估计需要8人进行常青支持,与原始设置相比,所需的人减少了11-17人。 完成总时间为 3-4 周。 时间成本节省估计可节省 2-3 个月。