开发面向 Windows* 8 的高 DPI 应用

Christopher Phlipot
2013 年 3 月 14 日

下载文章


 Windows DPI Scaling.pdf (336.59 KB)

2013 年,行业开始趋向于在 Windows 设备上采用高分辨率、高 DPI 屏幕。今天,10-11 英寸的平板电脑多数采用 1366x768 分辨率屏幕。然而,您很快会看到同样尺寸的屏幕将采用 1080p 和 1440p 分辨率,因此 DPI 也更高。Microsoft Surface* Pro 平板电脑就是这样一款设备,它使用 1080p 分辨率的10.6 英寸屏幕。Windows 的设计原则是:现有应用可随屏幕分辨率缩放。但是开发人员还需要做一些工作,具体取决于应用类型(桌面或 Windows 应用商店),从而确保其应用正常缩放。

桌面的 DPI 缩放


Windows 提供多种方法从 Windows 商店应用缩放桌面应用。对于 Windows 桌面,有 4 个缩放级别:100%、125%、150% 和 200%。例如,Microsoft Surface Pro 采用 1080p 10.6 英寸显示屏,默认状态下,桌面可缩放至 150%。

为了充分利用 DPI 缩放,您的应用需要具备 DPI 感知能力。否则,Windows 将自动缩放应用的大小;然而,应用可能显得模糊(见下图 1 )。应用缩放至更高 DPI 以后,为了确保图片和文本依然清晰,最好的办法是确保您的应用具备感知 DPI 的能力。


图 1. 200% 缩放。Internet Explorer* (左侧) 是 DPI 感知的。Chrome* (右侧)不能感知。

为了应用具备感知 DPI 的能力,您必须确保应用的用户界面合理缩放。这需要提供更高分辨率的资产,并确保文本和文本框合理缩放。建议您在高 DPI 场景下测试您的应用。最简单的方法是在控制面板的“显示器设置”中更改显示器缩放设置,如图 2 所示。


图 2. 测试桌面应用的 DPI 缩放可在 Windows* 控制面板中更改。

更多信息,请参考微软关于高 DPI 桌面应用的 MSDN 文档:http://msdn.microsoft.com/en-us/library/dd464646.aspx

Windows 商店应用的缩放


Windows 商店应用的缩放方法有所不同。所有应用可自动缩放至合理尺寸。与桌面不同,Windows 8 用户界面支持 100%、140% 和 180% 缩放模式。在高 DPI 的显示屏上,无需开发人员操作,文本、图片以及用户界面中的其余内容均自动缩放至合理尺寸。

然而,使用 140% 和 180% 缩放模式时,为了应用呈现最佳视图,您需要提供更高分辨率的图片。您也可以使用可缩放的矢量图形,在这种情况下,Windows 自动将图片缩放为合理分辨率,同时保留图片质量。

为了应用在不同 DPI 场景下得到合理渲染,建议您使用 Visual Studio* 2012中的模拟器测试您的应用。这时您可以通过更改所模拟的屏幕尺寸和分辨率测试每个 DPI 设置(见图片 3 和 4)。


图 3. 在 Windows* 8 环境中,Visual Studio* 2012 中的模拟器可以取消。


图 4. 在模拟器右侧的设置中选择不同的屏幕尺寸和分辨率即可更改 DPI。

如需深入了解 Windows 商店应用的显示器缩放,请参考微软 MSDN 文档:http://msdn.microsoft.com/en-us/library/windows/apps/hh465362.aspx

总结


建议您在高 DPI 环境中测试您的应用,确保运行正常、渲染清晰。如需测试桌面应用,您可在控制面板中更改显示器缩放;如需测试 Windows 商店应用,您可使用模拟器。如果您在高 DPI 场景下遇到运行问题,请参考微软 MSDN 文档。

附件

下载 windows-dpi-scaling.pdf (336.59 KB)

有关编译器优化的更完整信息,请参阅优化通知