如今,Apple 全系的 Mac 產品都已經跨入了高解析度螢幕,最新款的 MacBook Pro 甚至還採用了 mini-LED 技術和 ProMotion 自適應重新整理率,為我們帶來了筆記本上「天花板級別」一般的顯示體驗。
但和 Mac 上高水準的螢幕不同的是,不少人還在用 2K 甚至 1080P 級別的螢幕,忍受著大果粒和小字型帶來的麻煩。儘管 Mac 上也有螢幕解析度調整的選項,但與 Windows 不同的是,Mac 官方僅支援 4K 解析度以上的螢幕縮放,而 Windows 不僅可以支援各種顯示器,還可以自定義縮放的倍數。這也而就意味著,1080P 和 2K 解析度的顯示器,在 Mac 上是無法進行原生的 HiDPI 縮放的,想要實現原生系統級的 HiDPI 支援,最低的條件必須是 4K 顯示器。
關於 HiDPI 是什麼,這裡不再展開介紹,感興趣的朋友可以在其他地方學習。這裡只提一點:即這套 HiDPI 邏輯和早年 Apple 在 Retina 視網膜顯示屏開發時有著密不可分的關係。最早的 iPhone 4 實現視網膜顯示屏的方式,就是將前代 iPhone 3GS 的 480×320 畫素乘以 2,翻倍到了 960×640,並用四個畫素渲染一個畫素,實現了邏輯解析度的一致。
在後來,Apple 一些非視網膜螢幕的產品在升級視網膜屏幕後,也依舊沿用了這個邏輯。例如老款的 MacBook Pro 從 1280×800 升級到視網膜螢幕之後的物理解析度就變成了 2560×1600,經過 2 倍 HiDPI 縮放之後就和原來的 MacBook Pro 的邏輯解析度一致了。
在 Intel 時代,我們可以透過一些指令碼來實現在 2K 螢幕上的 HiDPI 縮放,以獲得更加清晰銳利的顯示效果。然而到了 Apple 晶片的 Mac 上,這個方法卻失效了。如果想要開啟系統的 HiDPI 支援,就必須從硬體上選購 4K 解析度以上的顯示器,或是透過 4K 採集卡 / HDMI 誘騙器的方式來實現。
終於在最近,有開發者帶來了一個 App,解決了 M 系列晶片無法在 2K 螢幕上開啟 HiDPI 的問題 —— BetterDummy。
關於 BetterDummy
根據作者在 GitHub 頁面 的介紹,BetterDummy 可以讓 M1 系列晶片的 Mac 擁有自定義的 HiDPI 縮放解析度,而不用再使用額外的硬體或佔用其它介面來實現。而且,透過 BetterDummy 實現的 HiDPI,還不用關閉系統保護,也不會出現像是滑鼠抖動這類透過外接硬體裝置方案會遇到的問題。
巧合的是,BetterDummy 還是另外一款廣受 Mac 使用者好評的軟體 MonitorControl 的開發者。它不但可以讓我們在 Mac 上調節外接顯示器亮度,還可以調節對比度和聲音等等,實現和 Pro Display XDR 或 LG UltraFine 顯示器的體驗。
使用方法
到 BetterDummy 的 GitHub 介面,點選上面碩大的「Download app for macOS」即可下載。
啟動之後,在狀態列找到它,點選「Create new dummy」,然後選擇你需要設定 HiDPI 顯示器的長寬比。
接著,在「系統偏好設定 > 顯示器」中,你就能找到一個由 BetterDummy 建立的一個新顯示器,例如「Dummy 16:9」。然後,點選視窗右下方的「顯示器設定…」,找到你的外接螢幕,然後在「適配」列表下,將它設定為「Dummy 16:9」。
接著,在 Dummy 16:9 的顯示器設定下,將「用作」選為「主顯示器」,然後按住 option 並點選下方的「解析度」選項,就可以在下方隨意開啟需要的 HiDPI 解析度了。
原理
其實,BetterDummy 和透過硬體「誘騙」Mac 的方式沒有太大差別,只不過它是透過軟體的形式來實現的。透過在 macOS 下虛擬出一個和顯示器一樣比例的高分螢幕,然後開啟了 HiDPI 之後,再將清晰的虛擬螢幕畫面映象顯示到真實的螢幕上。
一些問題
雖然 BetterDummy 可以成功在 2K 螢幕上開啟 HiDPI 顯示,但畢竟和原生的 HiDPI 支援有區別,因此仍然有一些小問題的存在。根據統計,目前存在的問題主要有如下幾個:
- 不支援 HDR 和高重新整理率;
- 對多塊螢幕的支援並不好;
- 滑鼠和鍵盤操作可能有一定延時;
- 合蓋使用後有一定機率出現字型變小;
- 畫面閃爍、被拉伸、無法填充滿整個螢幕;
- 重新整理率和顏色描述檔案有時候會出錯,需要重新選擇等。
但在上面這些問題中,有好幾個鍋都是要 macOS 來背的。
另外需要吐槽的是,只要你用過 Retina 顯示屏的 Mac 就會發現,其實 Apple 一直就有非整數倍的縮放方案。在 13 寸的 MacBook Pro 下,本身就提供了幾個縮放的選項,例如 1680×1050 這樣的邏輯解析度(原生解析度為 2560×1600,二者的倍數關係是一個無限小數);又或者在本就支援 HiDPI 的 4K 螢幕下,有非常多的 HiDPI 解析度可供選擇。
另外,如果你是一位 Apple 軟體平臺的開發者,你或許會注意到,很多地方的圖片資源是用「Point」而不是解析度來表示的。這一切都在說明,Mac 的開發工程師們並不是偷懶,但不知道為什麼,這套東西 Apple 就是不給你用,反正想在外接屏上得到原生的 HiDPI 支援,乖乖去買 4K 以上的高解析度螢幕。