Windows 系統為什麼對高分屏支持不好?

一直見網上抱怨Windows對高分屏支持不如 Mac,這是什麼原因?Windows 10 有沒有針對高分屏有所改善。


因為在 1985 年設計 API 的時候沒人會想到以後顯示器解析度會這麼高。


這個截圖上的所有軟體,除了幾個國產軟體(不包括360極速和7.5之後的QQ),再額外加個PotPlayer之外,剩下的全都支持HiDPI。另外還有沒在這個圖上的Foobar2000,MPC-HC和SublimeText3也是正常支持HiDPI的。

那麼,你覺得誰應該為那幾個國產軟體不支持HiDPI背鍋呢?大家都能正常支持,就你不支持,你說這是系統的問題?

微軟自身在HiDPI上的黑點,其實就只有一個MMC——畢竟這玩意是2000時代的遺產,以後要直接整合到UWP設置里。順帶一提註冊表編輯器是支持HiDPI的


我在windows的時候修過一個bug。某個東西在4k屏上不work。結果發現有個hard coded 2560x1440。寫那個代碼的時候肯定覺得1440p已經是天大的解析度了吧


與其說是技術原因還不如說是歷史遺留問題。。


你可以這樣理解:Win上一共有20000個軟體,200個支持高分屏,而Mac上一共有20個軟體,19個支持高分屏。

那麼Win上只有1%的軟體支持高分屏,而Mac上支持高分屏的軟體數量高達95%,所以通常我們認為Mac對高分屏支持較好。


通常把不支持 HiDPI 視為程序的鍋,比如聲明了 DPI-Aware 又沒有正確地處理,但是從另外一個角度想,Windows HiDPI 的開發對程序員可能不是一件輕鬆地事。

儘管微軟給出了一個詳細的教程:High DPI (Windows) 但是我在實際中正確地處理 DPI 問題仍然需要 Stackoverflow 的幫助。

  • 比如我學到的一件事是,自己的開發環境設置成100%無縮放,會減少最終出錯的幾率。但是實際上我覺得很少有 Windows 高分屏不設置成125%,150%甚至更高的縮放。
  • 程序員如果不接受自己的程序被放大模糊,想要追求一個真正正常的效果,還是有很多細節需要處理,比如字體的選擇,GUI 各種尺寸的單位選擇,另外還有 Per monitor-DPI aware 這種東西,對於多顯示器用戶,不同顯示器的縮放策略是否一致,從一個顯示器拖到另一個顯示器會是什麼效果。總之去看過我給出的鏈接你就知道,想保證不出錯,完美的效果,還是需要花精力去研究的。比如 Resources 里這些東西,哪些是你需要調用的,哪些其實不需要調用的。

  • 使用WPF 會更簡單一些,只是你無法要求所有人都用 WPF。
  • 最重要的是,這個東西你很難調試,事實上做到最後我感覺自己像在一開始學前端CSS的階段:不要想太多,各種 solution 都嘗試一下,看起來正確就是正義。

可能會有可以熟練背誦 Win32 API 的人來噴我,這點東西都掌握不了?不是我掌握不了,也不是一般程序員掌握不了,這又不需要多高的智商,只是你要從實際情況出發:對於每天應付各種需求的程序員,他自己有多大的動力研究這部分然後把已經寫好的 ,雖然在 HiDPI 下模糊但是能看的,已經被接受的 UI (比如網易雲音樂)再處理一遍?即使網易雲音樂未來處理了,其他應用的開發者呢?

Windows 目前的模糊放大策略算是兼容性和效果之間的妥協,只是目前這個策略,有一定審美能力的開發者和用戶都不是很滿意。從一個懶惰的開發者的角度來看,當然是希望這件事是系統來幫我處理好的,當然是希望微軟能夠付出更多的努力設計出更好更易用的妥協方案。

至於開發者自己,如果出於懶惰或者水平處理不好 HiDPI 的問題,比如某瀏覽器,還有網易雲音樂這種,在綜合評估以後,完全可以試試 UAP(現在叫什麼,UWP?)和 WPF,像 QQ 就在做這種嘗試,我覺得還是不錯的,對於一般的通用應用來說,UAP 提供的許可權應該夠用,何況 C# 寫起來比 C++ 更舒服,容錯率也更高。


Windows現在是對高分屏支持不好,對低分屏支持也不好。

高分屏上能用的軟體本來沒幾個,外接個低分屏的顯示器。原來高分屏能用的軟體低分屏下都不能用了。這TM才是真的SB。

補充Win8.1 Win10 都一樣。Win10 的explorer可以高低分屏都正常顯示,也就 explorer可以。


Windows 10已經做得很好了(獨立控制每個顯示器的字體大小),高解析度屏幕在Windows上體驗不佳很大一部分是應用軟體自身的問題~


這位同學是不是沒用過win8,直接就忽略了到win10了?

其實更多的原因是Windows上程序都用的px來設置大小,比如QQ在高分屏下很小,但是它一樣能全屏不模糊啊。surface Pro3自帶2K解析度怎麼說?軟體開發規範的問題不能說Windows不支持。


國產軟體用多了,就別怪系統垃圾。我說的包括且不限於windows系統。


沒有程序員會為了不存在的需求去寫程序的。

題主難道忘記了iPhone/iPad剛出高清屏的時候,原有軟體的兼容性怎麼樣了嗎?

題主難道忘記了那個佔有率0.5%的移動操作系統在軟體開發商那裡是什麼待遇了嗎?


歷史遺留問題


(1)國產軟體確實對高分屏支持不好,這個不能怪windows,比如一些銀行的網銀客戶端之類的,一旦系統字體放大,就模糊。但國產軟體有壟斷性,比如網銀,比如百度網盤,不支持高分縮放,也沒人能拿他們怎麼地。

(2)windows系統本身就是有問題,這個也沒必要洗白,也洗不白。win10之前,不支持多屏用不同縮放。而即使到了win10,也沒有解決多屏設置不同放大比例時的app跨屏模糊的問題,不信可以試試,win10,一個設置稱125%,一個設置100%,隨便開個應用,在a屏清楚的,在b屏就會模糊,反之亦然,多少人在反饋?微軟根本不理,這不是系統的問題還是什麼的問題?


其他的還好,最不能忍的是遠程桌面不支持,15寸屏,兩k解析度,那些字要放大鏡才能看清楚,你能忍?


WINDOWS需要向mac團隊購買一部分成員提高自己的姿勢水平。。。


還輕易改善不了,需要底層做大的變動。

MAC因為開始就針對印刷行業,所以基本上都是用設備解析度和實際尺寸來標識字元大小的,M$很多情況下是用像素高標識大小的,這樣問題就來了,高分屏下的像素大小根本就沒發看,因此,沒那麼快能改過來。


推薦閱讀:

如果當初諾基亞選擇了安卓,如今的諾基亞和Windows Phone各自會是什麼樣子?
為什麼 Windows 不考慮用華文黑體(黑體-簡)作簡體中文界面字體?
把伺服器當桌面機使用是什麼樣的感覺?
現在為什麼windows設備解析度大多採用16:9,而不用16:10?
為何 Surface Pro 3 邊框上的 Win徽標電容按鍵 沒和屏幕內Charms Bar的 Win徽標 對齊?

TAG:個人電腦 | 微軟Microsoft | 軟體 | MicrosoftWindows | 計算機 |