在面向 IT 专业人员的 Windows 中修复模糊文本

Windows 桌面应用大致分为两类:DPI 感知应用和非 DPI 感知应用。 DPI 感知应用在应用程序启动期间会主动告知 Windows 它们能够自我缩放以便在高 DPI 显示器上正常工作。 这些应用包括:Internet Explorer、Office、Firefox 和 .NET 2.0+(包括 WPF)应用。 在各种缩放因子下,这些应用一般都能正常工作。 因此,如果你的企业业务线应用也具有 DPI 感知能力,则用户在查看任何 Windows 显示画面或采用任何缩放因子时应该不会遇到问题。

但是,如果某个应用程序不具备 DPI 感知能力并在高 DPI 显示器上运行,则 Windows 会通过对应用程序输出应用位图缩放来缩放该应用。 这可以确保该应用程序在高 DPI 显示器上以正确的大小显示。 在大多数情况下,这可以使应用程序保持清晰且可正常使用,但在某些情况下,位图缩放会导致应用程序不够清晰,并呈现略微模糊的外观。

如何判断应用程序是否不具备 DPI 感知能力

使用进程浏览器工具确定应用是否具备 DPI 感知能力。 图 1 进程资源管理器显示此实用工具正在使用,其中启用了 DPI 感知列。 (默认情况下,进程资源管理器不显示 DPI 感知列。若要打开此列,请单击“视图”菜单,单击“选择列”,选中“DPI 感知”框,单击“确定”。)标题为 感知的列会告诉你某个特定进程是否感知到 DPI。

process explorer - sysinternals

图 1:进程浏览器

Windows 区分三类应用程序。

表 1:DPI 感知应用

DPI 感知 示例 行为

无法感知

Mmc.exe(Microsoft 管理控制台及其插件)

Windows 位图根据连接到系统的任何高 DPI 显示器缩放应用程序;可以按 125% 和 150% 的缩放因子模糊显示应用程序。

系统感知

Office 应用

应用程序在启动时按系统 DPI 进行缩放(通常与主显示器 DPI 相同);Windows 将应用缩放到与此不匹配的任何显示器。

按监视器感知

Internet Explorer 11

应用程序根据显示器 DPI 动态缩放自身。

对于不具备 DPI 感知能力的应用可以采取哪些措施

运行最新版本的应用,或请求应用程序供应商将其应用更新为具备 DPI 感知能力

Microsoft 建议使所有应用程序具备 DPI 感知能力。 较新版本的应用程序可能已具备 DPI 感知能力。 如果不具备,你可以请求应用供应商将其应用更新为具备 DPI 感知能力。 Microsoft 为开发人员提供资源来帮助他们更新应用,包括:

让 Windows 不要缩放不具备 DPI 感知能力的应用

当用户无法处理不具备 DPI 感知能力的应用的位图缩放(例如 125% 缩放和模糊应用程序)时,可以填充单个 Windows 桌面应用程序,使其不会缩放。 用户可以使用应用程序“属性”UI 中的“兼容性”选项卡来做到这一点。 例如,图 2“应用程序属性”显示了用户如何禁用位图缩放

application properties

图 2:应用程序属性

可以使用 Windows 评估和部署工具包 (ADK) 中包含的应用程序兼容性工具包中提供的 Compatadmin 工具来管理应用程序的批量填充。 可以从 Windows 评估和部署工具包 (ADK) 下载 Windows ADK。 有关如何使用 Compatadmin 工具的详细信息,请参阅如何在 Windows 中使用兼容性管理器实用工具

重要说明:禁用显示缩放可能导致内容太小,以致难以阅读或可靠交互;这还可能会产生视觉伪影,例如剪裁或重叠的内容。 这些问题取决于应用编写方式的细节。 因此,我们建议仅在绝对有必要时才更改此设置。 不应将此填充设置应用于不需要它的应用或设备。

Windows 包含 Windows 8 兼容性缩放模式,部署此模式可以解决某些显示器上的各种视觉模糊问题。 请注意,使用兼容性模式会消除 Windows DPI 功能的所有优势。 仅当企业环境中包含过多不具备 DPI 感知能力的应用,且无法通过应用应用程序填充来缓解问题时,才将此方法用作终极手段。 用户可以在 DPI CPL UI 中选中“让我为所有显示器选择一种缩放级别”框来访问此模式

display

图 3:缩放级别选项

如果你有许多特定的应用需要修正并计划对低密度或中密度显示器大规模实施某种方案,则也可以在部署期间应用此设置。 可以在部署前在审核模式下自定义映像。 请参阅审核模式概述。 另请参阅下一部分,其中介绍了如何以编程方式执行设备检测和注册表自定义。

了解高 DPI、显示器类型和 Windows 缩放

Windows 通过调整应用程序生成的位图大小来动态缩放不具备 DPI 感知能力的应用。 位图缩放在以整数倍数(例如 1x、2x、3x)缩放时效果最佳,而以非整数倍数(例如 125%、150%)缩放时,可能会出现通常带有模糊感的视觉伪影。

Windows 支持全范围的屏幕尺寸、分辨率和 DPI。 对于不具备 DPI 感知能力的应用,某些 DPI 范围会导致 Windows 缩放效果欠佳。

表 2“缩放值”描述了用户在使用不同 Windows 缩放值时可能遇到的问题

表 2:缩放值

比例因子 100% 主流 125% 增值 150% 高级 200% 高级

缩放优势

空值

少量改进

显著改进

关键改进

非 DPI 感知应用的位图缩放

空值

模糊程度非常明显

模糊程度不太明显

清晰鲜明

DPI 感知应用的缩放

空值

清晰鲜明

清晰鲜明

清晰鲜明

如上表中所示,大多数问题都是在缩放因子为 125% 时出现的。 因此,任何缓解措施应该针对仅在缩放因子为 125% 系统上不具备 DPI 感知能力的应用。

有关如何识别 125% 缩放因子系统或如何将 125% 缩放因子系统还原为 Windows 8 缩放行为的信息,请参阅与 DPI 相关的 API 和注册表设置

面向 IT 专业人员的高 DPI 支持