提升用户DPI缩放体验,微软详细阐述Win10周年更新DPI技术改进

∮仗剑ノ天涯 UID.437137
2016-08-18 发表

本帖最后由 newsmanager 于 2016-8-18 19:36 编辑

谈起 Windows 上的”DPI 缩放”功能,这几乎是 Windows 用户的一块心病,并成为了那些在 Windows 上追求更佳显示效果的用户迈不过去的坎。可惜的是,囿于 Windows 处理文本的方式,对于某些用户来说,显示缩放成为了他们屡战屡败的灰色记忆。

***附件停止解析***

不过,在 Windows 10 周年更新上,微软 Windows 团队在改善显示缩放体验上花费了更多的心思。

近日,在一个名为”Ask the Core Team”的博客上,微软开发者平台部门高级项目经理 Peter Felts 展示了在 Windows 10 周年更新中微软对显示缩放功能的技术观点、调整和完善工作。比如,微软努力让传统的软件进行合适的缩放以和 UWP 应用保持一致的性能表现;微软在设计模式上遇到的若干问题,而这些问题阻止了他们对 Windows DPI 缩放功能的大规模修改。

这里我们首先介绍一些关于 Windows 显示缩放功能出现异常的背景知识:

Quote
[list]
[*]模糊的文本和 UI 组件


[*]应用窗口尺寸不正确(太大或者太小)


[*]应用窗口尺寸正常并且不模糊,但是存在其它的布局问题(比如被砍掉一截的文本或者其它 UI 组件)
[/list]
上述这些问题会在一台 Windows PC 的显示缩放因子改变时发生,通常都是在用户进行登录或者一款应用被从主显示屏幕移动到另外一块具备不同显示缩放因子的屏幕上的时候出现。

尽管 Windows 系统已经面世超过 30 年了,但是其仍然存在很多问题,让用户无法获取良好的显示缩放体验。为什么微软不简单地在下一代 Windows 版本中对这一功能进行大规模整修呢?Windows 7、8、10 或者更新的操作系统都应该是可能的目标。

Quote
为什么微软不在 Windows 上修复显示缩放功能?

这是当我们在加入专注于解决这一问题的团队时大多数人都会问自己的问题。

我们面临的主要挑战是,许多许多运行在 Windows 上的应用使用了某种设计模式。在这种设计模式中,这些应用在启动时会向 Windows 索取一些关于系统的信息,比如显示屏多大,显示缩放因子是多少,应当被用于默认文本的字体大小的尺寸,等等。然后应用会缓存这些信息,并认为其永远不会更改。由于这一原因,尽管 Windows 向这些应用给出了关于 DPI 修改的信息,但是在绝大多数情况下,这些应用不会对此做出响应,所以就无法正常显示。更进一步,如果 Windows 给出的是动态变化的显示缩放因子的信息,这对于应用兼容性来说将会是一场灾难,可能会导致更多的应用稳定性问题。

尽管存在上述种种问题,但是那些为 Windows 10 周年更新的开发鞠躬尽瘁的天才们已经在努力尝试解决这一顽疾。

***附件停止解析***

Quote在 Windows 10 周年更新之前,如果一名应用开发者尝试更新他的桌面应用以响应显示缩放因子的改变,他将会发现 NCA 并不会重新调整尺寸。这也就意味着他的应用会出现标题栏过大或者过小的问题。(如上图所示)

在 Windows 10 周年更新上,我们通过使用一种全新的”EnableNonClientDpiScaling”API 对 NCA 自动缩放特性提供了支持。

接下来,微软使用了一种被称为”Mixed-Model DPI 缩放”的技术。通过这一技术,在应用显示缩放模式上用于定义流程范围内的限制被打破,这样开发者现在可以为每一个窗口指定不同的缩放模式。换句话说,开发者现在可以专注地让其应用中 UI 的重要部分处理显示缩放,而 Windows 则负责剩下的应用窗口。

***附件停止解析***

在 Windows 10 周年更新中,其它的显示缩放方面的改进还包括前面提到的对”EnableNonClientDpScaling”API 和 Mixed-Model DPI 的支持已经被拓展到了更多的应用和服务,比如 Office 和 WPF(Windows Presentation Framework,Windows 显示框架)。

但是,微软 Windows 团队并没有干掉用户在显示缩放上遇到的全部问题,Windows 10 周年更新中也存在对这些问题的遗漏之处。实际上,Windows 团队正在努力解决桌面图标缩放、通用控件缩放和 WinForms 等问题。

在 DPI 缩放问题彻底消弭之前,Windows 团队还有很多工作要做,但是至少目前来看,用户有了更多的信心和希望。

已经升级了 Windows 10 周年更新的小伙伴们,你们觉得手上的这款操作系统在处理 DPI 上更胜一筹了吗?欢迎留言讨论 :)

对于感兴趣的用户:***链接停止解析***

敬告:
为防止不可控的内容风险,本站已关闭新用户注册,新贴的发表及评论;
你现在看到的内容只是互联网用户曾经发表的言论快照,仅用于老用户留存纪念,且仅与科技行业相关,全部内容不代表本站观点及立场;
本站重新开放前已针对包括用户隐私、版权保护、信息安全、国家政策在内的各种互联网法律法规要求,执行了隐患内容的自查、屏蔽和删除;
本站目前所属个人主体,未有任何盈利安排与计划,且与原WFUN.COM所属公司不存在任何关联关系;
如果本帖内容或者相关资源侵犯到您的合法权益,或者您认为存在问题,那么请您务必点此举报或投诉!
全部回复:
wucd UID.573665
2016-08-18 使用 Lumia 1520 回复

深度好文,分享之!

gdp8495 UID.1125266
2016-08-18 使用 Lumia 1520 回复

磁贴上面的应用名字太大了 把字体改小 系统的字又太小 不知道怎么搞

凤凰****P版 UID.1238372
2016-08-18 回复

东方终于能正确显示了,赞!

wangwenhuang UID.636925
2016-08-18 使用 Lumia 830 回复

历史问题

hej****009 UID.999374
2016-08-18 回复

现在就是希望,传统软件都进行更新了。我的4K显示屏下的软件图像都是很小的,有些按钮简直是小到极点,没有办法啊。。。。。等着更新呢。

ozaki219 UID.892366
2016-08-19 使用 Lumia 950 回复

。。。。但是手机端那么多原生应用图标和磁贴模糊的问题一直都不修复。。还在这写这么一篇长文。

浮云游子意 UID.1193763
2016-08-19 使用 Lumia Icon 回复

cmd窗口的字真丑,还只有几种可以换

本站使用Golang构建,点击此处申请开源鄂ICP备18029942号-4联系站长投诉/举报