隨著屏幕分辨率的大幅提升,處理文本和顯示比例不給力的Windows,讓許多用戶沮喪不已。好消息是,在Windows 10周年更新中,微軟為我們帶來了DPI縮放功能的大幅改進(jìn)。Ask the Core Team開發(fā)者平臺高級項(xiàng)目經(jīng)理Peter Felts在一篇博客文章中詳細(xì)介紹了顯示縮放的技術(shù)、優(yōu)化和改進(jìn),包括如何處理舊軟件的縮放和兼顧UWA性能、以及一些設(shè)計(jì)樣式的調(diào)整。
微軟雇員Steve Wright提到了Windows顯示縮放遇到了三個常見問題:
1)本文和UI組件變得模糊;
2)應(yīng)用程序的尺寸變得不正確(過大或過?。?;
3)應(yīng)用程序大小正確、也不模糊,但有其它布局上的問題(比如文本或其它UI組件顯示不全)。
上述問題經(jīng)常在用戶改變了顯示比例、或者從一臺顯示器切換到另一臺時發(fā)生。
盡管微軟已經(jīng)在操作系統(tǒng)上耕耘了30多年,但很多人仍懷疑該公司能否提供一個像樣點(diǎn)的顯示縮放體驗(yàn)——為什么Windows 7、8上都沒能很好地解決?
微軟給出的解釋是,由于在Windows上運(yùn)行的程序?qū)嵲谔?,因此無法徹底解決顯示比例方面的問題。這是個極大的挑戰(zhàn),牽一發(fā)而動全身。
萬幸的是,Windows 10和Redstone 1更新已經(jīng)對此作出了重大的改進(jìn):
在Widnows 10周年更新之前,如果一應(yīng)用程序開發(fā)者試圖更新他們的桌面應(yīng)用以迎合顯示縮放因素的變動,他將很快發(fā)現(xiàn)變更后的NCA無法調(diào)整大小。
這意味著他們的應(yīng)用程序會出現(xiàn)顯示過小或標(biāo)題欄過大的問題(如上圖所示)。
在Windows 10周年更新之后,通過全新的“EnableNonClientDpiScaling”API,我們已支持NCA自動縮放。
下一步,微軟還將使用“混合模式DPI縮放”來打破既有的約束,以便開發(fā)者為窗口準(zhǔn)備不同的縮放模式。換言之,開發(fā)者將能夠?qū)W⒂陂_發(fā)關(guān)鍵部分的UI,而Windows會幫助處理其它狀況。
其它方面的改進(jìn)還包括讓Office和Windows展示框架(WPF)支持“EnableNonClientDpScaling”和“Mixe-Mode DPI”。
更多內(nèi)容請移步至Ask the Core Team博客查看。