高分辨率时代 Windows系统能跟上吗?
Windows 8.1做得怎么样?
Windows 8在高DPI支持方面没有任何改进,令人失望透顶,不过最新的Windows 8.1还算够意思,加入了不少新特性。
这其中最大的变化,就是可以针对每个显示器设置单独的DPI级别,非常适合拿着个Surface Pro再外接一台显示器等场合。
此外还有系统DPI软件的DPI虚拟化、DPI变化通知、获取显示器DPI的API、默认DPI计算考虑视距、屏幕DPI变化无需重启。
所有这些变化都是针对传统桌面模式的,比之前好多了,但还是没有苹果Mac OS X的处理方法高级。
Modern模式从一开始就考虑了高DPI,不存在任何问题。Windows Store商店里的应用会由系统根据屏幕尺寸、分辨率、设备类型来自动缩放,级别包括100%、140%、180%等等。
微软还鼓励Modern应用开发者尽可能使用矢量元素,或者多个位图拷贝。
除了支持DPI缩放,Windows Store应用还可以根据屏幕物理尺寸决定显示多少内容,更大的屏幕可以显示更多。
此外,Windows Store应用支持DPI缩放所需要的代码工作也少得多,应用本身都无需特别关注DPI,因为默认所有应用都是默认支持的,XAML布局、SVG图形也都可以由系统灵活缩放。
这是Adobe Touch,Adobe Reader Modern版本,13.3寸3200×1800屏幕上完美显示,所有的UI元素大小都很合适,触摸也无问题。
结语
Windows在高DPI问题处理上一直不够完美,但微软也一直在努力,而且一味指责微软做不好是很不公平的。首先,Windows既要创新,也要保证向下兼容性,老的API、代码都不能不照顾,否则老程序就没法运行。
其次,Windows支持的设备五花八门,要面对各种不同规格的显示器尺寸、分辨率、形态规格,都得兼顾。
Windows 8.1已经官方支持三种DPI应用状态,包括DPI未知、DPI系统感知、DPI每屏幕感知,还有个非官方的第四种状态,DPI未知伪装DPI感知,但尚无解决方法。
之前因为高分辨率设备不多,软件开发人员自然懒得去支持。如今随着显示器、笔记本、平板机不断拔高分辨率,市场和用户需求在哪儿摆着,相信会有越来越多的软件重视这个问题。
Windows,自己也需要继续完善,当然这里说的是桌面模式下。■<