我最近刚刚换到 Windows 7,我发现很多旧的第三方应用在我设置的高 DPI(150dpi 对比典型的 96dpi)下显示效果都不太好。在网上搜索了各种方法让应用重新显示效果后,我偶然发现了“Windows XP 风格 DPI 缩放”选项。我启用了该选项,应用突然又显示效果很好了。
我很高兴,但同时也有些怀疑。启用这个功能我有什么损失?
有人能向我解释一下有无此功能时屏幕渲染的区别,或者解释一下使用该功能的利弊吗?
答案1
这很好地回答了您的问题。简而言之,XP 模式会放大字体和 UI 对象的大小,就像您调整了主题的大小设置一样,这可能会导致某些应用程序出现图形异常,因为这些应用程序被硬编码为使用默认字体和图标大小。
“Vista”模式将应用程序以标准 96 DPI 绘制到屏幕外缓冲区,并使用显卡的纹理调整大小例程对其进行缩放。如果您曾经将具有大量精细像素细节的图像加载到图像编辑器中并调整其大小,您可能会发现引起的模糊感类似。
在我看来,它们都是糟糕的黑客手段,无法解决真正独立于 DPI 的应用程序几乎不存在这一事实。真可惜。
答案2
您应该始终选中“XP 样式字体缩放”框否则,许多应用程序(例如 Google Chrome)看起来会很模糊。
答案3
我考虑过这个问题,如果你想要真正实现所有东西都 100% 统一放大,那么你不妨缩小分辨率。这样就能达到你要求的确切效果。事实上,它与 Vista 风格的缩放完全一样,只是不会模糊。唯一的缺点是,你不会有忽略缩放的应用程序使用全分辨率来播放高清视频等内容。但是,如果你的应用程序忽略了你选择的缩放,那么它就违背了你所要求的缩放类型的目的。
将来的一个可能的解决方案(供操作系统设计人员添加到他们的操作系统中)是让用户选择一种类似于较小分辨率的缩放比例,然后允许应用程序请求您的许可以使用完整分辨率来播放视频等。例如,视频播放器启动高清视频,然后 Windows 会询问您是否允许该应用程序使用未缩放的分辨率(请注意,这对高清视频等很有用)。
目前的解决方案是允许应用全屏显示并像游戏一样更改视频显示分辨率,但大多数非游戏应用并未实现该功能。例如,如果我可以在日常使用中将桌面设置为较低的分辨率,界面和字体会更大,那就太好了,但 Chrome 等应用可以在播放视频时全屏显示并更改显示分辨率。如果 Windows(或任何操作系统)创建 API 以允许应用在全屏显示时轻松切换分辨率,这将是最佳解决方案。
答案4
以我的经验,如果我没有“IIRC”,请纠正我,但最大的缺点是 XP 样式的缩放实际上是有缺陷的,并且不适用于一半的应用程序。(即它可以工作,但它们失败规模™。
更糟糕的是,XP 缩放有效地禁用了 HDPI 缩放,但 Vista 缩放还允许在每个应用程序的基础上禁用 HDPI 缩放,这适用于更多应用程序。(我说的不是 DPI 感知应用程序)
让谜中之谜更加令人困惑的是,Vista“风格”的 HDPI 每个应用程序禁用功能只对 Win 8.1 甚至 Win 10 之前的 32 位应用程序有效。
双重 PITA。但我不怪微软。谁能赶上所有那些多显示器、多核、多一切——因为电子不再足够快,所以我们把多放在技术名称前面。
是的。没有偏见,这只是一个技术事实,适当的 DPI 缩放在软件开发中仍然是未来主义。
编辑
混乱状态的后果之一也很好地解释了维基共享资源指南(顺便说一句,这是一本非常好的摄影指南)。