Mac系統(tǒng)HiDPI問(wèn)題

我用mac就是因?yàn)槿思液每矗€好用。再不濟(jì)我會(huì)選擇Linux,因?yàn)槿思液糜枚乙膊怀蟆?/p>

** 重要的事情說(shuō)3遍,連接Macbook和顯示器的線纜一定是DP口的。**
** 重要的事情說(shuō)3遍,連接Macbook和顯示器的線纜一定是DP口的。**
** 重要的事情說(shuō)3遍,連接Macbook和顯示器的線纜一定是DP口的。**

0. 我們看屏幕的時(shí)候到底看到的是什么?

RGB顏色模型
RGB顏色模型

先給大家普及下基礎(chǔ)的成像技術(shù)。所有的電子顯示器(二極管或是液晶)都是通過(guò)色彩的混合來(lái)完成圖像的顯示,回想下我們小學(xué)學(xué)習(xí)的三原色知識(shí),通過(guò)RGB能夠混合出大部分的色彩。但是工業(yè)上出了使用RGB之外,還有pRGB,YCbCr等色彩表示(還有其他的色彩表示和混合方式,不深究)。我們都知道8個(gè)比特位能表示256種可能,這也是大部分RGB顯示器所能表示的范圍,一共3個(gè)8位的比特位,能夠表示的就是![](http://www.forkosh.com/mathtex.cgi? \Large 2^{24}=16 777 216)次方,也就是1600萬(wàn)色,這也就是大多數(shù)廣告中提到的1600萬(wàn)色的來(lái)源,當(dāng)然現(xiàn)在很多現(xiàn)實(shí)器都支持10bit廣色域,關(guān)于色彩問(wèn)題這可是有很深的歷史和文化淵源的,大家耳熟能詳?shù)挠蠥dobe公司的顏色模型,蘋果公司的顏色模型,還有一些其他我也不知道的專業(yè)制圖公司的顏色模型,反正這東西涉及到色彩心理學(xué)的知識(shí),我不懂。

對(duì)于一般人每天接觸最多的電子屏幕就是手機(jī)的點(diǎn)子屏幕啦,從最初的藍(lán)屏到今天的OLED,從幾百像素到2k屏幕。手機(jī)上的屏幕是由一個(gè)個(gè)發(fā)光的點(diǎn)組成的點(diǎn)陣,最初礙于技術(shù)每個(gè)“燈泡”做的都很大,燈泡之間的間隔也很大,所以會(huì)有“像素感”,就想下面的Nokia的藍(lán)屏手機(jī)。

大手牽小手

隨著技術(shù)的進(jìn)步,相同大小的屏幕能夠放進(jìn)去更多的”燈泡“,分辨率也在逐步提升,以至于我們?nèi)搜鄄辉俜直娉觥鳖w粒感“,也就是屏幕的分辨率和你視網(wǎng)膜的分辨率一樣大,或是屏幕的分辨率更大的時(shí)候我們得到了一個(gè)”視網(wǎng)膜“屏幕。

當(dāng)我們有了一個(gè)大的分辨率屏幕的時(shí)候,我們想要顯示的內(nèi)容的分辨率是一定的時(shí)候,顯示內(nèi)容在屏幕上占有的實(shí)際面積就越來(lái)愈小。我們看著當(dāng)然不爽,最簡(jiǎn)單的解決辦法就是用4個(gè)發(fā)光的燈泡來(lái)顯示同樣的一個(gè)色彩點(diǎn),對(duì)硬件設(shè)備的分辨率進(jìn)行下采樣,這樣在屏幕上顯示的面積就是原來(lái)的4倍大小,但是并沒(méi)有降低視覺(jué)上的分辨率。

1. 什么是HiDPI技術(shù)?

HiDPI (High Dots Per Inch) displays, also known by Apple's "Retina Display" marketing name, are screens with a high resolution in a relatively small format. They are mostly found in high-end laptops and monitors.
Not all software behaves well in high-resolution mode yet. Here are listed most common tweaks which make work on a HiDPI screen more pleasant.

簡(jiǎn)單來(lái)說(shuō)就是在硬件設(shè)備上面使用多個(gè)像素點(diǎn)位置來(lái)合成一個(gè)我們看到的像素。這需要的是軟件的支持和一款大分辨率屏幕。


喬幫主在介紹retina屏幕

上么的圖顯示的是喬布斯在介紹“Retina”技術(shù),左邊是一般的屏幕的抗鋸齒算法,由于屏幕實(shí)際分辨率的限制,造成了窗口或字體會(huì)有一種毛刺的效果。而右邊的則是macbook上應(yīng)用的視網(wǎng)膜技術(shù),由于分辨率提升了一倍,所以看著會(huì)更順滑,所以在mac上看文檔,打字真的是一種享受。


高分辨率(上)和低分辯率(下)實(shí)際效果

我們可以簡(jiǎn)單的將右邊的技術(shù)理解為HiDPI技術(shù),如果我們按照屏幕實(shí)際的分辨率來(lái)調(diào)整桌面的話,你會(huì)發(fā)現(xiàn)系統(tǒng)的字體會(huì)很小,并且窗口和字體會(huì)出現(xiàn)模糊毛邊的效果,如果單純的降低分辨率的話,字體倒是變大了,但是模糊和毛邊的效果更加嚴(yán)重了,這就是單純降低分辨率而不做抗鋸齒操作會(huì)放大鋸齒的后果。

2.實(shí)際操作

先貼下我的硬件信息:

筆記本:Macbook pro 2012(975,帶一塊低端的1G獨(dú)顯)
顯示器:Dell U2417H+Dell U2518DR
       實(shí)際分辨率分別是1920 x 1080和2560 x 1440。
系統(tǒng)版本:macOS Sierra (ver 10.12.5)

我一下午重啟了無(wú)數(shù)次電腦都沒(méi)有成功的原因就是用了一條HDMI的線纜。最后換了線纜成功的那一刻,內(nèi)心真的是。


去你媽的HDMI

今天心心念的屏幕到了,連午飯都沒(méi)吃就開始將Dell U2417H替換下來(lái),裝上新的Dell U2518DR,為什么選擇這兩款屏幕。因?yàn)檫@兩款屏幕真的是很驚艷,四個(gè)邊框真的很窄。大家可以找找網(wǎng)上的評(píng)測(cè),其中2417是2414的升級(jí)版,2518是2515的升級(jí)版。本來(lái)想直接上一款4k的屏幕,后來(lái)?yè)?dān)心我那歲數(shù)大的macbook帶不動(dòng)就萬(wàn)事休矣。最后選擇了一款1080和一款2k的先湊合用著。當(dāng)然上面的都是廢話,下面直接切入正題:怎么在2k屏幕上面顯示成retina內(nèi)建屏幕的效果。

mac的retina屏幕自帶縮放模式,在win下用戶遇到的問(wèn)題是當(dāng)屏幕的分辨率越高的時(shí)候,系統(tǒng)字體會(huì)比較小,可以使用縮放來(lái)完成字體的放大(比如放大到原來(lái)的150%)。但是當(dāng)mac外接屏幕的時(shí)候,他的縮放就顯得有點(diǎn)雞肋了,當(dāng)然如果你外接的是4k或是5K的屏幕的時(shí)候,屏幕本事自帶的是HiDPI就能解決字體過(guò)小、模糊不平滑問(wèn)題。這個(gè)已經(jīng)向好友剛子求證過(guò)了。只記住了他對(duì)高分辨率屏幕的點(diǎn)評(píng):原來(lái)括號(hào)是這樣子的啊。

之前用1080分辨率(23.8寸)屏幕的時(shí)候已經(jīng)能感覺(jué)出很大的顆粒感了,原因是習(xí)慣了mac自己的屏幕,就像你看慣了1080P的電影再看720p的電影會(huì)很難受,就像你聽?wèi)T了無(wú)損的歌曲,再聽320k的歌曲的時(shí)候耳朵受不了一個(gè)樣子。

感謝大家看到這里還在看,這篇非技術(shù)貼。下面是干干干貨。


方案一(未測(cè)試):
這種方法適宜程序員類,或是你熟悉Mac的操作。

  • 管理員權(quán)限運(yùn)行下方的命令開啟本機(jī)的HiPDI選項(xiàng)
    sudo defaults write /Library/Preferences/com.apple.windowserver.plist DisplayResolutionEnabled -bool true

  • ioreg -l | grep "DisplayVendorID"
    ioreg -l | grep "DisplayProductID"
    上面的兩個(gè)命令會(huì)返回兩個(gè)帶10進(jìn)制數(shù)字的結(jié)果,記下來(lái),轉(zhuǎn)換成16進(jìn)制數(shù)字,其中第一個(gè)是用來(lái)命名文件夾的,第二個(gè)是用來(lái)命名文件的。

  • 在任意位置(桌面上比較好)建立一個(gè)文件夾,并在文件夾中命名一個(gè)文件,其中文件夾的名字為DisplayVendorID-XXX,文件的名字為DisplayProductID-XXX,XXX則是前面轉(zhuǎn)換成16進(jìn)制的兩個(gè)數(shù)字。

  • 文件的內(nèi)容是一個(gè)plist格式的文件,內(nèi)容如下,可以使用xcode編輯工具編輯。

<?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>DisplayProductID</key>
        <integer>10496</integer>
        <key>DisplayVendorID</key>
        <integer>8547</integer>
        <key>scale-resolutions</key>
        <array>
                <data>
                AAAKAAAABkAAAAABACAAAA==
                </data>
                <data>
                AAAUAAAADIAAAAABACAAAA==
                </data>
                <data>
                AAAKAAAABDgAAAABACAAAA==
                </data>
                <data>
                AAAUAAAACHAAAAABACAAAA==
                </data>
                <data>
                AAAHgAAABDgAAAABACAAAA==
                </data>
                <data>
                AAAPAAAACHAAAAABACAAAA==
                </data>
                <data>
                AAAGkAAABBoAAAABACAAAA==
                </data>
                <data>
                AAANIAAACDQAAAABACAAAA==
                </data>
                <data>
                AAAGQAAAA4QAAAABACAAAA==
                </data>
                <data>
                AAAMgAAABwgAAAABACAAAA==
                </data>
                <data>
                AAAFoAAAA4QAAAABACAAAA==
                </data>
                <data>
                AAALQAAABwgAAAABACAAAA==
                </data>
                <data>
                AAAINAAAA4QAAAABACAAAA==
                </data>
                <data>
                AAAQaAAABwgAAAABACAAAA==
                </data>
        </array>
</dict>
</plist>

如果我想使用AxB的分辨率,那么我需要同時(shí)添加一個(gè)AxB和2Ax2B的分辨率,一個(gè)原始分辨率和一個(gè)加倍的分辨率。

  • 最后把文件夾直接拷貝到/System/Library/Displays/Contents/Resources/Overrides/

方案二(已經(jīng)測(cè)試):
使用軟件SwitchResX,不過(guò)最新的系統(tǒng)會(huì)有點(diǎn)問(wèn)題,請(qǐng)參考這篇文章解決解決方案

方案三(已經(jīng)測(cè)試):
按照這個(gè)Github中的步驟利用腳本為本機(jī)開啟HiDPI選項(xiàng)。Github地址

方案四(未測(cè)試):
這個(gè)Github的項(xiàng)目貌似更加靠譜。Github地址

參考

  1. Wiki-HiDPI
  2. 有關(guān)retina和HiDPI那點(diǎn)事
  3. 分不清HiDPI和Retina顯示器?─ 認(rèn)識(shí)4K時(shí)代的像素密度
  4. How to Enable HiDPI Mode in Mac OS X
  5. macOS-10-12-Sierra開啟HiDPI
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容