可有的时候,万一我们自定义了一个过大的 DPI (例如500%),在应用并且重新登录后,可以发现系统界面元素变得过大,于是我们再也不能通过操纵 UI 的方式,前往控制面板找到这个设置将其改回来。此时我们有个校正的办法是重启到安全模式。
DPI 的设置是用户相关的,也就是说,你所做的 DPI 设置,仅对你当前的这个用户有效。因此,DPI 的设置也是保存在注册表的 HKCU 分支下面。比直接操作注册表更安全的方法是重启到安全模式,然后将 DPI 的设置改回正常以后,再重新启动电脑。这是因为,安全模式下不应用 DPI 缩放设置,所有 UI 元素的大小将恢复正常。
注意,在高级启动选项里,如果选择"启用低分辨率视频"模式,那么 UI 元素的尺寸还将是过大的,而且反而会加剧(因为分辨率更低了)。这个模式可以用来解决显卡驱动的一些问题,但是,DPI 设置与显卡驱动无关,因此请注意选择进入安全模式修复这一问题。
如果你还想了解 DPI 设置在注册表中存放的位置的话,那么以 Win8 为例,它位于 HKEY_CURRENT_USERControl PanelDesktop 项目下,键名为"LogPixels"。默认地,系统里不会有这个键和键值,但是如果你设置过 DPI 缩放,那么这个键就出现了。默认设置下,Windows 的 DPI 绝对值其实是96,只不过通过 DPI 设置界面是看不出来这一点的。这里给出 DPI 设置与注册表键值的对应关系:
(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/diannaorumen/)可以看出,注册表存放的键值是真实的 DPI 绝对值,而 UI 里面显示的百分比是基于"96 "=" 100%"这个定义的。因此,手动调整 DPI 设置后,你就可以轻松算出真实的 DPI 值了。对于像 Surface Pro 这样的设备,系统已经会自动将默认 DPI 设为 150%。