2019-08-27
2017.8.24更新:HiDPI本质上是软件实现的,即:由Mac系统的Hidpi渲染实现,这其实就是Hidpi的由来(用软件的方式实现单位面积内的高密度像素,苹果并不是单纯以分辨率来定义显示器的)。所以,开启Hidpi会增加系统负荷(忽略不计,Air非retina屏的不建议开启,发热量会增加)。在显示器达不到Hidpi渲染的硬件最低要求(分辨率小于2K)的情况下,只好采用暴力的方法(借助Quartz Debug):强制开启,这也是本文采用的方式。请大家在开启Hidpi的时候考虑一下有没有必然强制开启。
在网上找了几个教程都不成功,用过SwitchResX(强烈不推荐,系统卸载不了这货,要用第三方工具才可以卸载,垃圾。)操作复杂,当然结果都一样。后来我找到下面的方法经测试(黑白苹果通用)完全可以。看我的效果图!
参考了:[https://www.zhihu.com/question/35300978](https://www.zhihu.com/question/35300978)
image.png
image.png
image.png
1.开启HiDPI
打开终端输入
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true
复制代码
回车后,输入当前系统管理员的密码,回车确认。
2017.8.24更新:如果不适,可以用false/no关闭。
sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool no
复制代码
2.获取你的显示器的两个 ID:(非常重要)
DisplayVendorID和DisplayProductID,前一个是命名文件夹的,后一个要命名文件。
打开终端, 命令分别是:
ioreg -l | grep "DisplayVendorID"
ioreg -l | grep "DisplayProductID"
复制代码
记下这两个命令输出的10进制数字,等下要转换为16进制。以我的输出结果为例
image.png3.转换为16进制,推荐这个在线转换工具(把2.得到的数字转换为16进制):http://blog.zhouding.cn/staticfiles/jinzhi.swf
我的转换结果
image.png<embed style="cursor:pointer;" type="application/octet-stream" src="9B3EDF0D-408B-4FA8-9A76-F31A842F665F.dmg">
4.任意位置新建一个文件夹。
文件夹命名的模式是:DisplayVendorID-XXXX,其中XXXX是你的DisplayVendorID的16进制值小写。比如我的文件夹名字为:DisplayVendorID-410c,如图:
image.png
文件夹建好了,然后在DisplayVendorID-XXXX的文件夹里新建一个名为:DisplayProductID-YYYY的空文件(没有扩展名)。YYYY就是你的DisplayProductID的16进制了。我的文件名为:DisplayProductID-c0c7
5.创建DisplayProductID-YYYY文件的内容。在线生成你自己显示器的配置文件,地址:https://comsysto.github.io/Display-Override-PropertyList-File-Parser-and-Generator-with-HiDPI-Support-For-Scaled-Resolutions/
然后把生成的文件内容复制出来用记事本打开DisplayProductID-YYYY并把内容粘贴到DisplayProductID-YYYY文件中去。也可以用firfox浏览器直接下载下来,然后命名为:DisplayProductID-YYYY就可以了。比如我的就是DisplayProductID-c0c7。没有扩展名!
这里给出我的文件内容仅供参考(可能不适用,不要复制我的)。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DisplayProductName</key>
<string>PHILIPS 234E</string>
<key>DisplayProductID</key>
<integer>53358</integer>
<key>DisplayVendorID</key>
<integer>4268</integer>
<key>scale-resolutions</key>
<array>
<data>AAAKAAAABaAAAAABACAAAA==</data>
<data>AAAFAAAAAtAAAAABACAAAA==</data>
<data>AAAPAAAACHAAAAABACAAAA==</data>
<data>AAAHgAAABDgAAAABACAAAA==</data>
<data>AAAMgAAABwgAAAABACAAAA==</data>
<data>AAAGQAAAA4QAAAABACAAAA==</data>
<data>AAAKAgAABaAAAAABACAAAA==</data>
<data>AAAKrAAABgAAAAABACAAAA==</data>
<data>AAAFVgAAAwAAAAABACAAAA==</data>
</array>
</dict>
</plist>
复制代码
6.把DisplayVendorID-XXXX文件夹拷贝到:
/System/Library/Displays/Contents/Resources/Overrides/
(10.10及以下是 /System/Library/Displays/Overrides/ )
完成以后重启电脑(注销不可以)。
7.下载RDM方便切换分辨率。
下载地址:http://avi.alkalay.net/software/RDM/ 这个地址是https://github.com/avibrazil/RDM链接来的,Github可能打不开了。安装好RDM就可以切换了!
关于SIP问题,解决方式如下:重启系统按住 Command + R 进入 Recoverary 模式
点击 实用工具 > 终端
输入 csrutil disable/enable
重启系统
为了系统安全起见,用完后可以再次关闭SIP。
至此,HIDPI就开启了。
黑苹果通用!!!