启用高 DPI 感知
确保游戏支持高 DPI 显示器
- 检查游戏可执行文件的程序集清单 XML。这可能是 titleName.exe、titleName.exe 旁边的清单文件,或游戏可执行文件中的嵌入式清单。可以使用 sigcheck 通过命令行从游戏可执行文件中提取嵌入式清单(如下所示)。
- 如果在清单 XML 中只看到以下
<dpiAware>标记,则表示不支持高 DPI 显示器。 - 嵌入式清单优先于松散清单。如果存在嵌入式清单,请转到步骤 4。如果没有嵌入式清单,请创建一个包含以下内容的 titleName.exe.manifest 文件。
- 如果存在嵌入式清单,请通过命令行使用 Windows SDK 中的以下 Mt.exe 工具找到它。
- 编辑嵌入式清单,添加新的
<dpiAwareness>标记(如下所示)。 - 通过命令行使用 Windows SDK 中的以下 Mt.exe 工具更新嵌入式清单。
验证高 DPI 感知
确认游戏支持高 DPI 显示器
- 使用带有高 DPI 显示器的 PC(例如 Surface Studio 2),转到 Settings > Display,并将缩放设置为 150 percent。
- 启动游戏。
- 检查出现光标的屏幕,并确认游戏按预期显示。例如,全屏游戏应占满整个屏幕。
- 在屏幕上移动光标,确保光标可以到达游戏窗口的整个表面区域。
- 将鼠标悬停在交互式 UI 元素(如按钮)上,并确认视觉状态和交互按预期工作。例如,当光标直接位于按钮上方(而不是旁边)时,按钮应更改视觉状态。
说明
- 有时会建议禁用注册表虚拟化来解决高 DPI 感知问题,但我们不建议这样做。
- Visual Studio 在 Configuration Properties 中提供了 DPI Awareness 选项,但它使用的是较旧的
<dpiAware>标记,该标记不适用于 MSIXVC 打包的游戏。
