分享

黑苹果开启缩放分辨率HiDPi以及字体模糊的调整方法总结

 昵称49522320 2020-09-12

2020年3月7日:根据网友反馈,一键开启app存在bug,可能总在最后一步崩溃、1080P和2k屏幕没有效果、不支持 10.14 以下版本等。建议使用原来的一键脚本,但是由于原作者没有维护导致失效,已在正文对应内容处提供修正办法。

2020年2月13日:@逆行者做了一键开启HiDPi的app,非常适合新手使用,开启HiDPi从未如此容易。

概述

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

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

对于类似笔者这种半路出家所用的显示器(三星C32H711QEC,31.5寸,2560x1440),按以下方法操作,可以一定程度缓解此问题。

我的macOS版本:17G65 High Seirra 10.13

2020年2月7日更新:已更换显卡为RX5700XT,并升级至macOS Catalina 10.15.3

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

2019年12月22日更新:Radeon VII已于macOS Mojave 10.14.3开始被免驱支持;RX5000系列已于macOS Catalina 10.15.1开始被免驱支持。

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

方案一:土豪通道

  • 直接重新购买显示器。

  • 2019年10月22日更新:苹果2019年秋季新品:Pro Display XDR,对没错,就是那个出场自带价格劝退buff的密集恐惧发生器:

  • 另外还有LG的 UltraFine Display,有4k(官网大约5000软妹币)和5k(官网大约9000软妹币)版本。

  • 如果这些价格不合适,也可考虑其它品牌4k显示器,见这个传送门

方案二:1080P/2k显示器急救

暂时缓解的方案,首先需要开启HiDPi模式,具体来说方法有三种。

第一种方法,使用一键开启HiDPi脚本(推荐)

打开终端,输入以下代码:

bash -c '$(curl -fsSL https://raw./xzhih/one-key-hidpi/master/hidpi.sh)'

看图操作:

  • 最后回车,重启即可,当你在Loading界面看到画面一闪,白苹果图标变大就代表成功了。

2020年3月7日更新:最近无法正常使用这个脚本,可以把它下载到本地使用,点击下载,提取码: nemp,本地使用方法:

bash -c 脚本.sh

如果遇到了类似 Permission Denied 的提示,是因为 macOS 10.14 起默认提高了本地安全策略,不允许直接运行网上下载的 sh 脚本,只需输入如下命令:

chmod +x 脚本.sh

意思是赋予运行权限,成功运行后是不会有任何提示的,这个时候返回第一步继续脚本即可。

2020年8月29日更新:添加了适配 macOS Big Sur 的版本,下载地址,提取码:7oz3。

脚本运行完后,重启。进入系统,打开偏好设置,进入显示器,看到缩放一栏下有这些选项即代表成功,如果没有这些选项,可使用RDM或SwitchResX等软件手动调整:

第二种方法,开启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分辨率是1280×720...一个2k分辨率的显示器活生生变成了720P,如果单看桌面图标那些也没什么问题,但是一开浏览器直接傻眼,Chrome这么简洁一浏览器,UI都能占1/3,一开审查工具直接2/3没了,根本没法用,心累。

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

第三种方法:使用EDID Override

具体来说分为两种,一种是使用Hackintool,另一种是使用Ruby脚本;Ruby 脚本法流传于油管,思路总结如下:MacBook Pro外接了非Retina的显示器,结果macOS把外接显示器默认成了电视,使用了电视的描述文件,导致显示出来颜色分辨率都不对。通过patch EDID的方法强制(forced)外接显示器使用RGB mode的描述文件,操作方法如下:

使用Ruby脚本
  • 下载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)”。

使用Hackintool方法

另一种,使用 Hackintool 生成 EDID 文件夹,见图:

HiDPi需要根据你的显示器实际分辨率比例来选:

16:9 分辨率:3840×2160、2560×1440、1920×1080、1600×900、1366×768、1280×720、1024×576、960×540、854×480、720×405、640×360、480×270、320×180

16:10分辨率:2560×1600、1920×1200、1440×900、1280×800、1024×600、800×480

现阶段,使用4k屏幕接入黑苹果,默认就能自动开启 HiDPi,如果没有,或需要指定的分辨率,则需要手动输入分辨率。

Hackintool 会生成五个文件在桌面上,这里选择使用 Icons.plist(修改图标,覆盖原文件,注意备份) 和 EDID 文件夹,放到以下路径,重启即可:

/System/Library/Displays/Contents/Resources/Overrides

如果都做完后无法在系统偏好设置中调整分辨率,那么可以下载RDM.app(2020年2月7日已更新2.2版)来进行调整。下图中使用的是4k显示器,2k及1080P屏幕没有那么多选项:

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

开启LCD平滑字体

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

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

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

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显示器分辨率一般是3840×2160,标准HiDPi缩放状态下是1920×1080,只是属于基本可以接受的范畴,而为数不多的几款5k显示器,其分辨率5120×2880开启HiDPi后虽然达到了2560×1440,但是普遍高达万元的售价还不如直接买白苹果。

参考资料:
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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多