作者:知乎用户
链接:
https://www.zhihu.com/question/33612914/answer/57113717来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
Steam在7,8,8.1,10下面都是一个德行,只有放大模糊和不放大瞎眼两种情况。这么说吧,这种自写UI的应用大多是根本没有加入任何适应高DPI机制的,结果就是,他们要么无论如何都不放大,虽然一直是清晰的,但是高分屏必然瞎眼;要么就是完全交给DWM来DPI虚拟化,直接当作图片一样拉伸,必然模糊。比如QQ(7.5以前), 网易云音乐啊,360啊,还有Steam和一些大名鼎鼎的Adobe的PS(其实CC也算)等等。这些应用中,若是没标明DPIAwareness, 那效果就是把96DPI上的界面直接拿来放大,比如前边那些国产应用;若是标注了DPIAwareness,那系统就不管了,你自己去缩放。但是他们又没有缩放机制,所以就是永远一样大,比如Steam和PS。而没注明DPIAwareness的可以在右键属性里通过去掉高分辨率下开启DPI缩放来达到DPIAware的效果。所以他们本质是一样的,就是只能100%比例绘制。不同的是前者可以变成后者,后者很难变回前者。所以比起这些不能缩放,但是不标注DPIAware的程序,像PS这种才是更讨厌的。因为4K下根本就没有办法用,想模糊都模糊不了。Adobe后来发布了CC让你买买买,但是也只能通过手动开启200%来应付,13寸1080P的用户就彻底被抛弃了,24寸1440P的用户也很尴尬。这种相当于重新写了一份200%精细度的UI,但仍然不能够自动适应各种DPI设置,从原则上说是根本没有遵循Windows的DPI规则的。新版的QQ似乎也是这样(以前是太小了大不起来,现在是太大了小不下去)。还有一点,Win8.1下125%以下的DPI是不开启DPI缩放的。但是听你这么说,难道Win10把这个也取消了。反正发现Win10的hiDPI机制反而有的地方没有8.1好..