Skip to main content
本文介绍在开发游戏以使其在掌机设备上高效运行时,你还需要注意的其他事项。这些注意事项是对 面向掌机 Windows 设备优化 GDK 游戏 中检查项的补充。

掌机的底座(docked)行为

某些掌机会在插入底座时使用。虽然没有 API 可以直接判断掌机是否处于底座模式,但插入底座的设备可能连接了外部显示器。你可以使用 EnumDisplayDevicesEnumDisplaySettings API 检查外部显示器。 当掌机设备插入底座时,使用以下方法检查已连接的外部显示器:
  • 检查是否有额外的手柄。掌机自带的手柄始终可用,但用户也可能连接额外手柄。
  • 检查已连接显示器的屏幕尺寸。
  • 虚拟键盘的建议依然适用,因为手柄仍是主要输入方式。
  • 有些玩家可能会像在主机上一样连接鼠标和键盘。

保证可用的输入

尽管不同的游戏掌机可能提供额外的输入方式,但每台掌机都具备以下输入。
  • A、B、X、Y 按钮
  • 左肩键与右肩键
  • 左扳机与右扳机
  • 左摇杆与右摇杆
  • 方向键(D-pad)
  • Menu 按钮
  • View 按钮
无论设备是否在底座中,都请始终检查所有已连接的手柄和输入设备。当设备处于底座模式时,也要检查 View 按钮。

电源

要检查掌机设备是否使用交流电而非电池,请调用 GetSystemPowerStatus 函数。它会告知设备是否使用交流电,并提供电量摘要(高、低、临界或正在充电)。 请考虑你的游戏对设备电池续航的影响,因为游戏所需的功耗并不总是显而易见的。XBOX Sustainability Toolkit 中可能的节能建议同样适用于掌机。 要最大程度节能:
  • 启用 VSync,给 GPU 更多空闲时间,降低功耗。
  • 降低内部渲染分辨率并进行上采样。
  • 降低帧率以省电。注意:较低的帧率可能影响玩法。
  • 出现全屏菜单或 UI 元素、或游戏暂停时,停止世界渲染。
  • 检测到输入空闲、玩家不活跃时暂停游戏。

屏幕尺寸

尽管不同的游戏掌机屏幕分辨率各异,你可以依赖以下标准:
  • 屏幕对角线尺寸至少为 7 英寸(17.8 cm)。
  • 屏幕的宽高比为 16:9 或 16:10。
调用 GetIntegratedDisplaySize 获取掌机集成显示屏的对角线尺寸。

掌机体验最佳实践示例

关于为掌机设备构建和优化游戏的更多见解,Microsoft 发布了两个示例:一个原生 C++ 示例和一个 Unity 托管 C# 示例。两者都提供了一组类似的最佳实践,展示如何使用 API 轻松管理游戏的掌机体验。
  • 判断设备是否为掌机。
  • 判断设备是使用电池、正在充电,还是使用外部电源。
  • 查询设备特定属性,包括集成显示器属性。
  • 处理 DPI 变化并相应地缩放 UI。
  • 使用虚拟键盘进行文本输入。
  • 查询网络设备及类型。
  • 判断网络与 Bluetooth® 连接状态。
  • 处理来自手柄、键盘和鼠标的输入。
  • 判断输入模态,例如识别最近使用的输入设备。
随着 Windows 增加有利于掌机游戏场景的增强功能,以及从为掌机开发游戏的开发者处收集到反馈,Microsoft 会更新这些示例。 获取这些示例:
最后修改于 2026年8月24日