需要关注的事项
最可能出现问题的类别包括:- 性能相关:由于以更高或更低分辨率渲染的性能差异导致的帧率下降、崩溃或竞态条件。这些也可能受视场变化的影响(例如,因为较宽的屏幕一次显示更多敌人,导致帧率降低)。您通常用于性能测试的工具(如 PIX)也适用于自定义分辨率。
- 视觉/UI 布局:可能出现类似下方示例的问题,尤其是 UI 叠加层。
对于原本应显示如下的游戏:
请注意此类问题:
被拉伸或挤压的图像/文本。如果整个屏幕看起来像下面的图像一样被拉伸,则可能是后缓冲区分辨率与传递给 XGameStreamingSetResolution 的值不匹配。 如果渲染做出了错误的纵横比假设,则可能发生这种情况。被截断的图像/文本
如果 UI 布局做出了错误的分辨率或纵横比假设,则可能发生这种情况。UI 重叠
如果 UI 元素的大小和位置不能针对不同分辨率或纵横比适当地缩放,则可能发生这种情况。如果您设备的屏幕或窗口与串流分辨率不匹配,将自动添加黑色的信箱条或立柱条,因此可能会预期出现这种情况:
设置测试
要测试自定义分辨率,您需要从 XBOX Series X 开发套件进行串流。请参阅此处获取设置串流的说明。虽然可以使用多种客户端设备进行测试,但测试自定义分辨率的最简单方法是在 PC 上的 Edge 中进行串流。在该 PC 上,您可以将串流窗口调整为不同的分辨率进行测试。 使用 Edge 开发者工具,您可以将窗口设置为您选择的特定大小,以确保测试的一致性。为此:- 打开 XBOX 游戏串流远程连接页面并连接到您的开发套件
- 从 …>更多工具 子菜单中打开 Edge 开发者工具
- 单击左上角带手机/平板图标的“切换设备模拟”按钮
- 从顶部分辨率旁边的预设菜单中选择设备,或通过从菜单中选择“Edit”并单击“Add Custom Device”添加您自己的分辨率。如果添加自定义设备,请将 Device Pixel Ratio 设置为 1。请注意,让您可以更改分辨率的 “Responsive” 设置会根据您 PC 的缩放设置对您选择的像素值应用倍数,因此使用该设置更难确保正确的分辨率。
- 更改模拟设备或单击 Rotate 按钮以触发 DisplayDetails 更新事件
确保测试覆盖率
如果您的游戏支持一组固定的分辨率,则确保每种分辨率都能正常工作应该能提供良好的覆盖率。但是,如果您的游戏可以缩放到任意分辨率,则测试这四种边界情况应有助于发现大多数问题:- 最大像素数:以达到您传递给 XGameStreamingGetDisplayDetails 的
maxPixelCount值的分辨率运行您的游戏。这应有助于发现任何性能问题。请注意,您可能传递比 XBOX 游戏串流当前支持的更大的值(截至 2022 年 9 月,最大串流分辨率相当于 1080p:2073600 像素;未来可能会增加)。要测试比串流当前支持的更高的分辨率,您可以以 16:9 纵横比渲染并在不串流的情况下测试您的游戏。如果您将maxPixelCount设置为您的游戏在当前系统设备类型上通常渲染的像素数,则这也可能已被您的常规测试覆盖。 - 最小分辨率:最小串流分辨率是 640x360。测试此分辨率(或您游戏的最小分辨率,以较大者为准)以查找因异常快速渲染而产生的竞态条件,并发现在低分辨率下被截断的 UI 元素。
- 最宽支持的纵横比:选择与您的
widestSupportedAspectRatio值匹配的分辨率,以查找 UI 布局或宽相机视场的问题。截至 2022 年 9 月,串流的最大宽度为 2560 像素(未来可能会增加);结合最小高度 360 像素,这是 64:9 的纵横比。 - 最高支持的纵横比:选择与您的
tallestSupportedAspectRatio值匹配的分辨率,以查找 UI 布局或高相机视场的问题。截至 2022 年 9 月,串流的最大高度为 1440 像素(未来可能会增加);结合最小宽度 640 像素,这是 4:9 的纵横比。
