V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
verrickt
V2EX  ›  问与答

现在是 2018 年,各大桌面操作系统对 Mixed DPI Mode 的支持如何?

  •  
  •   verrickt · 2018-12-05 21:56:39 +08:00 · 1038 次点击
    这是一个创建于 1989 天前的主题,其中的信息可能已经有所发展或是发生改变。

    引言

    从 96DPI 的标准屏到动辄 200DPI 的高分屏,从一个显示器到多个显示器,外接显示设备的应用场景越来越复杂,这对操作系统提出了新的挑战 -- Mixed DPI Mode

    Mixed DPI Mode

    作为最复杂的场景,考虑一台外接显示设备的笔记本。内置屏幕和外接屏幕的尺寸和分辨率可能天差地别。作为一个用户,我希望(在手动设置后)不管程序在哪个显示设备上都能清晰显示,并且各个显示器都使用自己的推荐(最大)分辨率

    Windows

    我比较了解 Windows,先抛个砖。 Windows 中运行单独为各个显示器指定分辨率和缩放比率,支持非整数倍缩放。但是在显示设备中有且只有一个主显示器(Primary display)

    Windows 上根据 DPI Awareness 将程序分为

    • Unaware
    • System Aware
    • Per monitor Aware

    Unaware

    上古程序,以 96DPI 进行 UI 设计,无法感知外界 DPI。由 Windows 根据所在显示器的选项进行位图缩放,模糊。

    在非 100%缩放的屏幕上模糊。

    System aware

    中古程序。在设计时考虑到了高分屏,在与主显示器缩放设置一致的显示器上十分清晰。但未考虑 DPI 会改变,在缩放设置不一致时由 Windows 进行位图缩放,模糊。

    典型例子:任务管理器

    Per monitor aware

    现代程序。考虑到了高分屏以及 DPI 会改变。使用设备无关像素进行设计。Windows 在 DPI 改变通过WM_DPIChanged 通知应用程序,由应用程序自己重新绘制。在任何显示设备上都无比清晰。

    典型例子:基于 Election 的应用,UWP 应用

    Linux

    用过一段时间的 Ubuntu 16.04 ,记得当时有 125%这个缩放比率。部分应用有 Per monitor DPI aware 的行为,系统应该是支持到 Per monitor 的

    现在 18.04 里只有整数倍的缩放比率了。似乎跟桌面环境从 Unity 迁移到 Gnome 有关?不知道现在还支不支持 Per monitor 了。还请使用 Ubuntu 18.04 和其他 Linux 桌面的 V 友赐教。

    Mac OS X

    没用过 OS X,但听说早在 XP 时代苹果就已经在推广设备无关像素了,想来高 DPI 支持做的应该很不错。我的疑问是:

    • OS X 上是否所有的程序都自带 Per monitor 支持
    • OS X 是否支持非整数倍缩放

    看一些 V 友说 27' 4K 屏看起来有颗粒感,如果是这样为什么不把缩放比率往上调 25%呢?

    先谢谢大家

    2 条回复    2018-12-06 13:18:20 +08:00
    verrickt
        1
    verrickt  
    OP
       2018-12-05 22:09:17 +08:00
    不知道怎么 Append,直接写这里好了
    Win10 为了统一桌面和移动端(天国的 WM10)、UWP 程序和非 UWP 程序所做出的努力
    https://blogs.technet.microsoft.com/askcore/2015/12/08/display-scaling-in-windows-10/
    Windows 10 周年更新对 DPI 缩放的改进
    https://blogs.technet.microsoft.com/askcore/2016/08/16/display-scaling-changes-for-the-windows-10-anniversary-update/
    ysc3839
        2
    ysc3839  
       2018-12-06 13:18:20 +08:00 via Android
    有可能要有人回复了才能 Append ?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   6109 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 02:39 · PVG 10:39 · LAX 19:39 · JFK 22:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.