主机功耗 vs. 游戏性能
一边打造强大的游戏主机,一边要求开发者考虑降低功耗,乍看似乎矛盾 —— 其实并不矛盾。将硬件推向极限能提供高保真、沉浸式的体验,这也是 XBOX Series 主机的核心承诺。 同时,围绕能效为玩家提供选择,或应用玩家不会察觉的被动措施,与该承诺完全兼容。XBOX 没有计划基于游戏功耗特征引入额外的 XBOX Requirements(XR)。
哪些组件功耗最大?
主机内各组件的功耗差异很大。相对功耗大致对比(各组件满载运行时):
GPU 是目前最大的功耗来源。 可持续性工具包中的大多数建议都围绕 GPU 节能,因为它们最容易调整、影响也最大。
Power Load % 指标
由于制造差异,每台主机的绝对功耗略有不同,因此精确的瓦特数难以给出。XBOX 将功耗表示为主机最大功耗的百分比 —— Power Load % —— 该值经过归一化,可在不同开发主机间进行比较。 当 Power Load % 下降时,主机相比之前正在节省能耗。GDK 工具
自 2022 年 6 月的 GDK 起,开发者可以在游戏运行时查看 Power Load %:- 开发主机前面板主屏幕 —— 默认显示 Power Load %。
- 开发主机前面板电量屏幕 —— 显示最近约 20 秒的滚动图表(滚动 0.5 秒平均)。通过前面板控制器上移即可显示。
- PIX System Monitor 计数器 —— 添加 Power Load 计数器(信息与前面板图表相同)。
- PIX Timing Captures —— 以 1 ms 粒度采集 Power Load %;单帧内可能会出现较大波动,因为 GPU 在忙碌与空闲之间切换。可在 Metrics 标签页中查看。
PIXGetPowerMetricsAPI(2023 年 3 月的 GDK) —— 返回滚动平均的 Power Load %,方便集成到你自己的分析工具中。
如何开始对作品进行分析
功耗分析对大多数团队来说是一个新的维度。团队通常已经投入大量精力在 CPU 与 GPU 上达到目标帧率 —— 这里的建议是把功耗作为第二个调优维度加进来。 GPU 变更的影响最大。最有效的调整通常是帧率和/或渲染分辨率。 寻找玩家不会受到影响(或不会察觉)的场景。先从下述状态下的功耗概览着手:- 加载 —— 从启动到主菜单,或任何较大的流式加载。
- 角色创建或设置界面。
- 空闲玩法。
- 战斗或作品中的高压区域。
- 覆盖大部分可见画面的 UI —— 物品栏、装备栏、物品管理。
- 暂停菜单或游戏中的上下文菜单。
空闲检测
遥测显示玩家经常处于空闲状态 —— 等待事件或离开一会儿。空闲期间主机仍在耗电。基于玩家最后一次输入进行简单的空闲检测是值得的。超过时间阈值后逐步降低分辨率或帧率,可以在无感的情况下增加节省。病态功耗
不设上限的帧率可能让 GPU 长时间接近 100% 利用率。可考虑设 60 FPS 或 120 FPS 的帧率上限,给 GPU 留出空闲时间。给玩家选择:Eco 模式
玩家已经理解“Quality”和“Performance”模式。可以考虑加入一个 Eco 模式,以少量视觉质量和性能换取显著的功耗节省。 每款作品情况不同 —— 具体做法由开发者决定。常见的可选项包括:- 60 FPS vs. 30 FPS 模式
- 4K vs. 1080p vs. 960p 模式 —— 如果你的作品内部以 4K 渲染,尤其有价值,因为没有 4K 电视(或希望在 4K 电视上省电)的玩家目前无法降低分辨率。
- 空闲超时 —— 让玩家设置一个时间,超过后游戏逐步降低分辨率或帧率。
如果你的作品不再更新或仍在开发中
在工作室内部尽早开启这一讨论。据我们经验,大多数工作室都支持可持续性主题,只是尚未开始讨论。可选项包括:- 作品直接的节能(Eco 模式、被动优化)。
- 工作室层面的节能 —— 晚上关灯、关电脑、关打印机和开发主机;减少空调等大功率设备使用。
