手機4K了PC還是糊 為何Windows高分辨率表現如此差
不知不覺,高分辨率屏幕對于消費者來說,已經是日常隨處可見的光景。自從iPhone4推出視網膜屏幕這概念后,手機的分辨率一路狂飆,現在甚至已經出現了量產市售的4K分辨率手機。
但和手機相比,屏幕尺寸更大的PC,卻在分辨率方面舉步維艱。在市面上,使用1080p規格以下屏幕的電腦仍比比皆是,2K以上屏幕的PC仍是鳳毛麟角;不但如此,在高分辨率屏幕上,PC系統的顯示效果也難以令人滿意。
為什么就算是Win10,在高分辨率下某些軟件還是會UI模糊?
在手機上,高分辨率屏幕帶來的視覺效果是賞心悅目的,但PC卻不然。
很多朋友都發現,在Windows系統中,一旦分辨率過高,軟件UI很容易就出現各種蛋疼的顯示情況,例如模糊、UI錯位、字體/UI過小等等,就算是最新的Windows10,這些情況也屢見不鮮。但是,這類情況在手機或者同為桌面平臺的Mac中,卻很少出現。
為什么時至今日,4K電視都已經賣到白菜價,Win系統在高分辨率的表現下仍如此糟糕?這究竟是系統的錯還是軟件的鍋?今天就一起來談談這個問題吧。
Win系統對高分辨率真的手足無措?
在很多朋友的印象中,Win似乎對高分辨率、高DPI顯示并不在行。但是實際上并非如此,Win有著比較完善的高分辨率UI縮放機制。針對高分辨率屏幕,Win系統大致提供了兩種方法進行UI縮放。
第一種是比較傳統的縮放方法,會加大字號以及拉大UI的框架,Win7及以前的系統多使用這種方法。這方法帶來的問題是,一旦UI太過特殊,不按照Win的規范編寫,那就很容易出現錯位、變形的情況。
第二種方法是基于虛擬分辨率的縮放,這個很好理解,就相當于把整個軟件的界面從低分辨率拉伸到高分辨率,例如200%的縮放就會把一個像素拉伸到4個像素顯示,機理類似位圖的拉伸。
這種方法主要用于Win8以后的系統,避免了軟件界面因為縮放而錯亂的問題,但會造成模糊、鋸齒。
針對不同的DPI設置,Win系統還采取過不同的縮放模式的策略,例如在125%以下的DPI縮放就用第一種方法縮放,以上就使用第二種縮放,所以有的朋友在高分辨率下想要保持軟件UI清晰,會把DPI設置為124%。
而在最新的Win系統中,微軟還引入了混合縮放的模式。例如一個軟件它的按鈕、標題欄、菜單等元素是符合Win規范的,那就會按照第一種方法縮放,其他部分則會作分辨率拉伸以保證UI的可用性。
可見,Win在高分辨率、高DPI下提供的縮放方案是比較完備的,這主要是因為Win要考慮到軟件的兼容性,讓老軟件也能工作在高分辨率屏幕中。
對于新軟件來說,這些縮放方法并不很重要,實際上如果一個軟件按照Win的最新規范(例如WPF)編寫,那它在高分辨率下顯示會比例正確而又清晰——微軟自家最新的Office以及一票UWP軟件,就是很好的例子。
為什么Win在高分辨率下還是糊了?
- 第三方軟件不匹配新的開發規范
一般來說,在高分辨率下表現得蛋疼的軟件,都是比較老舊的軟件。這些軟件沒有對高分辨率進行優化,必須通過Win的系統方案強行縮放。
在Win7之前,這類軟件就很容易出現排版錯亂的問題,在Win8、Win10中則容易出現模糊的問題。
簡而言之,這些高分辨率下不完美的顯示效果,是由于軟件沒有對Win的新規范適配而造成的——十年前的軟件仍可跑在最新的系統上已經相當了不起了,要求它們也完美顯示的確有點強人所難。
因此,Win軟件在高分辨率下顯示效果差,主要還是軟件方面的問題,Win系統自身的高分辨率適配方案并沒有人們印象中的那么糟糕。
實際上,Android、iOS和macOS的系統縮放方案和Win的也沒有本質上的區別,它們也存在虛擬分辨率縮放之類的機制——如果你曾經在iPad上運行過iPhone版App,就會發現一旦App沒有對特定分辨率進行優化,那么iOS App的高分辨率下的表現也不過如此。
那么為什么高分辨率顯示糟糕的問題在手機、Mac電腦中很少見?
這主要還是它們不需要兼容海量的老軟件。安卓、iOS和macOS系統升級后舊版App死一大片的情況不要太多——這是Win系統這些年萬萬不敢做的,Vista的教訓還歷歷在目呢。
而由于Win強大的向下兼容性,很多新軟件也干脆不用新的規范開發,反正都能跑起來,UI漂亮不漂亮關系并不是那么的大,用新規范開發又得花額外的精力。于是,這些軟件就在高分辨率下出現了模糊之類的情況,微軟對此也無可奈何。
- Win系統本身的一些顯示問題
第三方軟件的確給高分辨率下的PC帶來了很多顯示方面的問題,但Windows系統自身的表現也真的無懈可擊嗎?并非如此。在高分辨率下,就算是最新的Win10 1709,一樣會有不完美的顯示效果,具體如下。
首先,Win系統自身也并非每個模塊都匹配了高DPI。例如計算機管理等界面,可以看到圖標在高DPI下顯示仍有鋸齒,這是萬萬不應該的。微軟都這么不上心,第三方軟件不積極匹配高分辨率也情有可原了。
其次,Win系統的字體特別是中文字體,并不適合在高分辨率、高DPI下顯示。
很多朋友都發現,Win的雅黑字體在高分辨率屏幕渲染的時候,可能會出現雜色輪廓或者扭曲。
這主要是微軟在渲染字體的時候,考慮到低分辨率的適配問題,為了讓字體在低分辨率下顯示也清晰可辨,對字體作了一定程度的變形。這種變形在高分辨率屏幕中,就起到了負面作用。現在低分辨率屏幕越來越少,按照大趨勢,微軟也是時候來修改字體渲染方案了。
再者,Win系統在接入多屏幕的時候,對DPI縮放的處理仍不夠好。例如筆記本自身分辨率不高,但同時接入了高分辨率顯示器,兩個屏幕使用的DPI高低不一。
這時候,即使是UWP應用乃至Win系統本身,也會在兩個屏幕中交雜使用一些不適配的DPI方案。你會發現,某個UI在兩個DPI不同的屏幕中,DPI是一樣的,這會讓高分辨率屏幕顯示這UI特別小,或者低分辨率屏幕顯示這UI特別大。
所幸的是,微軟正在解決這些顯示問題。例如Win10 RS4會使用全新字體,屆時高分辨率下的字體表現會大大改善,希望Win能夠越來越完善吧。
總結
總的來說,限于兼容和Win系統本身的一些問題,Win在高分辨率下的顯示體驗的確仍有不如意之處。
如果想要更好的顯示效果,可以盡量嘗試使用整數倍的DPI縮放,例如200%的DPI等等,這可以減輕UI模糊、變形的概率。
在這里,也呼吁PC廠商推出更多高分辨率屏幕的產品,徹底淘汰掉1366x768等低分辨率,推動Win系統和軟件的高分辨率適配,希望Win系統的顯示效果能越來越完美吧!