Win7之家( afsion.com.cn):Win7/Win8/Win10系統(tǒng)DPI縮放技術(shù)獨家詳解
了解Win10 DPI技術(shù)之前,首先先來回顧下Windows XP以來采取過的DPI縮放技術(shù)。
傳統(tǒng)DPI縮放機制
傳統(tǒng)DPI縮放機制被Windows XP所采用,由開發(fā)者自行檢查字體縮放后是否存在潛在的問題。
優(yōu)點:字體清晰
缺點:排版錯亂(UI元素文本框重疊、表格文字溢出、界面超越屏幕邊緣)
現(xiàn)代DPI縮放機制:DPI虛擬化
現(xiàn)代DPI縮放機制被Windows Vista/Win7/Win8/Win8.1所采用。如果DPI縮放比例不超過125%,繼續(xù)使用傳統(tǒng)DPI縮放機制,超過之后就開啟這個新模式。需要指出的是,125%縮放比例在多數(shù)情況并不會造成嚴(yán)重的界面錯亂,而且縮放后字體清晰。
具體來說,對于報告支持DPI自適應(yīng)的程序,系統(tǒng)將停用DPI縮放。
對于沒有報告支持DPI自適應(yīng)的程序,系統(tǒng)將采用如下機制:
縮放比例如果為100%的整數(shù)倍,系統(tǒng)采用一點對多點進行縮放。當(dāng)選擇縮放比例為200%/300%/...,原有界面中1點依次對應(yīng)4點/9點...。
縮放比例如果為非100%的整數(shù)倍,系統(tǒng)首先給應(yīng)用提交虛擬分辨率,然后由系統(tǒng)離屏渲染軟件界面,再放大到用戶選擇的DPI級別上。
以1920*1080分辨率,縮放比例150%為例。系統(tǒng)首先向應(yīng)用提交當(dāng)前的分辨率為1280x720,獲得離屏渲染的界面以后,再使用常規(guī)的圖像插值算法進行放大。需要提醒的是,插值將不可避免的導(dǎo)致界面模糊,字體鋸齒等一系列問題。
優(yōu)點:界面正常
缺點:界面模糊
Win10 DPI縮放機制:完全的DPI虛擬化
Win10 DPI縮放機制絕大多數(shù)部分與現(xiàn)代DPI縮放機制一致,唯一不同是所有DPI級別(包括125%)均采用DPI虛擬化機制,保證界面正常。
▲左側(cè)為Win10 DPI機制,右側(cè)為Win8.1 DPI機制
最后簡要介紹下MAC DPI縮放機制,Retina屏幕統(tǒng)一采用200% DPI縮放級別,實現(xiàn)原理和Windows沒有任何區(qū)別。唯一的不同是,MAC OS X軟件在顯示視頻和圖像時,視頻圖像區(qū)域采用100% DPI,以保證視頻和圖片的顯示質(zhì)量。
如果你在Win10中調(diào)整DPI縮放后部分系統(tǒng)窗口字體出現(xiàn)模糊現(xiàn)象,可參考《Win10高分屏更改DPI后字體模糊?試試這個小工具》來解決。
本文出自IT圈 - Win10圈,作者Star2011,原文《獨家:詳解Windows 10 DPI 技術(shù)》。
玩轉(zhuǎn)Win10,盡在IT之家Win10特別專題>>