高解析度時代 Windows系統能跟上嗎?
2025-05-30 08:31:09
泡泡網液晶顯示器頻道4月18日 iPhone 4提出「視網膜」概念、3.5寸屏幕上做到960×640解析度/330PPI像素密度之後,這個世界就開始瘋狂了,安卓手機已經做到了5.5寸2560×1440解析度,像素密度超過500,平板機也紛紛配備2560×1600。
又是蘋果,將「視網膜」的概念引入到MacBook系列之後,常年沉迷於1366×768的筆記本們也瘋了,不約而同地開始拔高解析度,3200×1800就有好幾家,東芝甚至帶來了4K級別的3840×2560,像素密度普遍達到了250PPI上下。桌面上,4K顯示器也開始紛紛嶄露頭角。
但是慢著,在奔向高解析度的同時,還有一個根本性問題:Windows作業系統的支持。首先區分一下兩個概念。
PPI(Pixel Per Inch):每英寸像素點數量,來源於數位相機的感光器(一般是CCD)。
DPI(Dot Per Inch):每英寸點數,來源於印刷、印表機,是列印精度指標。
二者原本並不完全相同,但是在屏幕、圖像解析度方面基本上就是一回事兒,計算方法也是相同的,只不過是Windows裡還在習慣性地使用DPI。
Windows設備屏幕尺寸、解析度、DPI
一些高解析度筆記本
Windows XP的首次嘗試
讓我們先看看這款在輔以十多年後已經歇菜的老系統,它也是Windows第一次開始支持更改DPI,自然毛病很多,比如說如果你把DPI設置得太高,很多程序就會出現顯示問題。
其實,XP也提供了一個API,讓開發者檢查、縮放字體大小,但如果軟體沒有檢查字體的DPI等級,那就麻煩了,比如說UI元素和文本框重疊,表格文字溢出,還曾經會有部分界面跑到屏幕之外看不到。
XP本身的縮放也不完美:窗口的最大/最小化、關閉按鈕變的過大,標題欄文字特別粗放,系統通知區域圖標滿是鋸齒和模糊。
Windows XP 96 DPI
Windows XP 120 DPI
Windows XP 144 DPI
不完美的DPI虛擬化
針對那些根本不關DPI的軟體,Windows Vista引入了一項新技術「DPI Virtualization」(DPI虛擬化)。如果DPI不超過120,繼續使用XP的縮放機制,超過之後就開啟這個新模式。
其實說起來也很簡單,所謂的DPI虛擬化,只不過是系統欺騙那些不支持高DPI的軟體,讓它們以為DPI其實是最基本的96(相當於1280×1024解析度的17寸顯示器),然後由系統離屏渲染軟體界面,再放大到用戶選擇的DPI級別上。
這樣解決了文字亂跑的問題,但很容易造成顯示模糊,並不是完美的解決方法。
為此,微軟引入了另外一個API SetProcessDpiAwareness,本身支持DPI縮放的軟體可以用它告訴系統不要動我。