2019年10月16日更新:本文已迁移至heipg.cn,点击查看完整版

 

 

 

之前写过一篇黑苹果开启HiDPI“解决”字体模糊的问题,彼时对问题处于一知半解的状态,图样图森破啊~按原来总结的方法,确实可以在系统设置中开启HiDPi高分辨率选项,但实际上并没有效果。经过我认真Google翻阅大量资料,总结此问题除了购买苹果自家显示器或其它品牌4k/5k/8k显示器可以彻底解决外,别无他法。

 

那么,要解决黑苹果字体模糊就只能扔更多钱了吗?我的理解:是,也不全是。

 

苹果所使用的屏幕Retina Display,其运作原理简单说就是让2个像素缩放到显示1个像素的内容,以我的MacBook Pro为例,其屏幕分辨率是2880x1800,在HiDPi开启的默认状态下,以1440x900分辨率来进行显示,也就是比默认分辨率下像素多了一倍,效果自然细腻。当我把MacBook Pro的缩放分辨率切换到“更多空间”时(也就是1680x1050或1920x1080的状态),字体依旧不会模糊,依旧清晰锐利,我想这就是Retina显示屏和其它显示屏的根本区别了吧。具体技术细节可以参考这个链接

 

怪不得在国外论坛上歪果仁直接建议新手购入Apple LED Cinema Display,可以一次性彻底解决文字模糊的问题。而对于类似笔者这种半路出家所用的显示器(三星C32H711QEC,31.5寸,2560x1440),按以下方法操作,可以一定程度缓解此问题。

 

我的macOS版本:17G65 High Seirra 10.13

 

不用最新的macOS 10.14 Mojave是因为暂时没有对应的NVIDIA显卡驱动可用,自带驱动仅支持到GTX 750/760,如果是intel的核显或AMD的显卡 RX550-580,VEGA56-64,FirePro等可以大胆升级到Mojave(Radeon VII可能需要再等等)。

2019年6月4日更新:可点击这个链接,提交自己的Email或者电话号码(可能有费用),这个站会实时监控NVIDIA的网站,一旦放出Mojave的驱动,会马上通知。

 

Solution 1:土豪通道

  • 直接重新购买显示器。
  • 苹果自家:Apple LED Cinema Display,此产品最早一批上市的距今已经有六七年了,可是毕竟苹果自家东西,适配起来效果真是其它品牌没得比,可惜的是早已停产,仅有二手,二手水深,大家都懂的...某宝或某鱼搜索“苹果MC007”和“苹果MC914”即可,二者外观一模一样,背面接口类型和数量有区别,MC914仅有Thunderbolt接口,MC007除了Thunderbolt以外还有HDMI、MiniDP,大DP,此外其它指标没有区别。
  • 考虑其它品牌4k显示器可以见这个传送门

 

Solution 2:其它显示器

暂时缓解的方案,首先需要开启HiDPi模式,具体来说方法有三种,第一种方法可参阅原来的文章:黑苹果开启HiDPI“解决”字体模糊的问题

第二种方法,修改macOS本身的脚本,操作如下:

  • 打开终端
  • 输入以下命令:
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
  • 重启计算机
  • 打开系统偏好设置 → 显示器,按下Alt键的同时,使用鼠标左键点击“缩放”按钮,这样就能看到所有显示器可用的分辨率,这个时候就可以逐个尝试可用的分辨率,一般情况下,字体显示效果最佳的是后面带有HiDPi选项的分辨率。

 

 

  • 如果需要还原,打开终端输入以下代码,重启即可。
sudo defaults delete /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled

各位如果实践到这一步应该也发现了,在启用HiDPi分辨率的情况下,字体已经完全不“发虚”,效果几乎和我的MacBook Pro一致了,却出了另一个问题——UI实在太过巨大。以我的显示器为例,最佳HiDPi分辨率是1280x720...一个2k分辨率的显示器活生生变成了720P,如果单看桌面图标那些也没什么问题,但是一开浏览器直接傻眼,Chrome这么简洁一浏览器,UI都能占1/3,一开审查工具直接2/3没了,根本没法用,心累。

解决的办法,使用略高于最佳HiDPi分辨率的...分辨率,以我的显示器为例,使用2048x1152或1920x1080的非最佳缩放分辨率,也可以起到一定的效果,目前笔者暂时采用此方法缓解,显示效果比默认2560x1440要好一点,但是又比1280x720差一点。

 


 

最后还有第三种方法打开HiDPi模式,此方法流传于油管,思路总结如下:MacBook Pro外接了非Retina的显示器,结果macOS把外接显示器默认成了电视,使用了电视的描述文件,导致显示出来颜色分辨率都不对。通过patch EDID的方法强制(forced)外接显示器使用RGB mode的描述文件,操作方法如下:

  • 下载GitHub上歪果仁做好的脚本(本文末下载),放到桌面解压,文件名“patch-edid.rb”
  • 打开终端,输入:
RUBY /Users/用户名/Desktop/patch-edid.rb
  • 上面的代码中,注意把用户名改成你的Mac登陆用户名,或输入RUBY后直接把文件拖进终端,按下回车执行
  • 打开Finder,定位到:
/macOS安装分区/Users/你的用户名
  • 上面的代码中,macOS安装分区就是黑苹果系统所在分区,用户名替换成你自己的用户名,打开后找到这个新增的文件夹:

 

 

  • VendorID后面的数字字母不是固定的,以你自己生成的为准。右键 → 拷贝 这个文件夹。
  • 打开Finder,进入如下路径:
/System/Library/Displays/Contents/Resources/Overrides
  • 粘贴刚刚复制的文件夹,如果提示覆盖直接确定即可,完成后重启计算机。
  • 重启后应该就会自动进入HiDPi模式了,并且在颜色一栏启用项目中标注“forced RGB mode(EDID override)”。

 

 

如果都做完后无法在系统偏好设置中调整分辨率,那么可以下载RDM或SwitchResX来进行调整:(本文末可下载RDM)

 

 

以上就是开启HiDPi的三种方法总结,总的来说并不完美,只能在字体清晰度和UI大小之间取舍。如果你到这一步已经解决了问题,恭喜你~如果觉得还需要再抢救一下的,往下看:

 


 

开启LCD平滑字体

 

 

上图是开启平滑字体后的效果演示,可以看到区别还是很明显的。具体有两种操作方法,如下:

第一种,通过系统偏好设置修改,打开系统偏好设置 → 通用 → 勾上“使用LCD平滑字体(可用时)”(High Seirra和Mojave都在同一个位置)

 

 

第二种方法,使用终端修改。打开终端,输入以下代码:

defaults write -g CGFontRenderingFontSmoothingDisabled -bool NO

回车,重启计算机即可生效。以上两种方法选择其一即可,效果都一样的。

 


 

调整平滑字体设置

打开终端,输入以下代码(三选一):

defaults -currentHost write -globalDomain AppleFontSmoothing -int 3

最强效果

defaults -currentHost write -globalDomain AppleFontSmoothing -int 2

中等效果

defaults -currentHost write -globalDomain AppleFontSmoothing -int 1

轻度效果

如果需要关闭这个效果,输入以下代码还原:

defaults -currentHost delete -globalDomain AppleFontSmoothing

以上效果开启或关闭,代码输入后均需要重启计算机使应用生效。

 


 

以上就是目前总结到的方法,都不完美,要么扔钱要么忍受模糊字体要么忍受硕大UI,只能在三者之间做平衡和取舍,而目前市面上流行的4k显示器分辨率一般是3840x2160,标准HiDPi缩放状态下是1920x1080,只是属于基本可以接受的范畴,而为数不多的几款5k显示器,其分辨率5120x2880开启HiDPi后虽然达到了2560x1440,但是普遍高达万元的售价还不如直接买白苹果。

 

如果有什么好的意见和建议,欢迎留言说明。

 

 

2019年4月13日更新:在更换了4k显示器后(型号三星 U32R590CWC,31.5寸,3840x2160,1500R曲面,10bit面板,4ms灰阶响应),字体模糊的问题得到了彻底解决,并且HiDPi选项正常运作,见图。

 

 

 

下载文中用到的脚本和软件(文中也都提供过传送门):

 

下载“Patch-EDID”:

 

下载 “patch-edid.rb”patch-edid.rb.7z – 已下载579次 – 1 KB

 

下载“RDM”:

下载 “RDM.app”RDM.app.7z – 已下载695次 – 2 MB

 

 

参考资料:
What is HiDPi and Why does it matter
MacOS: Fix Blurry Fonts Issue On Lower Resolutions - Mojave
Force RGB mode in Mac OS X to fix the picture quality of an external monitor
How to Fix Blurry Fonts on Mac OS X High Sierra and Mojave