作者:暮成雪
鏈接:https://www.zhihu.com/question/40506180/answer/623203881
來(lái)源:知乎
著作權(quán)歸作者所有在抛。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán)瘟则,非商業(yè)轉(zhuǎn)載請(qǐng)注明出處导绷。
我們以mac的發(fā)展史來(lái)說(shuō)明什么是物理分辨率草穆,以及為什么需要衍生出邏輯分辨率。
我們的主人公是喬幫主和比爾蓋茨。此時(shí)喬幫主面前有一臺(tái)mac,屏幕的分辨率是1280*720侦另,這就是物理分辨率。喬幫主對(duì)比爾蓋茨說(shuō)尉共,給我的mac開發(fā)一個(gè)word軟件吧褒傅。蓋茨說(shuō)OK,于是寫了一個(gè)軟件袄友,這個(gè)軟件顯示的時(shí)候長(zhǎng)度是1280像素殿托,寬度是720像素,正好能夠蓋滿整個(gè)mac屏幕剧蚣。喬幫主看了之后很滿意支竹。
有一天,喬幫主看自己的mac屏幕覺得很粗糙鸠按,一點(diǎn)都不清晰銳利礼搁。于是聰明的喬幫主想到,同樣是15寸的屏幕目尖,我把像素點(diǎn)翻倍馒吴,不就可以更清晰了嗎?于是他把mac的物理分辨率改成了2560*1440的分辨率,相當(dāng)于每個(gè)像素點(diǎn)的尺寸減少了4倍募书,這下再也看不出顆粒感了绪囱,喬幫主很滿意。
但是莹捡,當(dāng)喬幫主打開蓋茨給他寫的word的時(shí)候鬼吵,傻眼了,原本全屏的word現(xiàn)在只占屏幕的四分之一篮赢,而且文字非常的小齿椅。喬幫主打電話給蓋茨說(shuō),你的軟件怎么出問題了启泣?蓋茨回答說(shuō)涣脚,我開發(fā)的時(shí)候你的mac分辨率就是1280*720,你自己改了硬件尺寸怪我咯寥茫,我很忙沒空給你改軟件代碼遣蚀,你就湊合著用吧。
喬幫主稍作思考纱耻,馬上想出了一個(gè)非常聰明的主意芭梯!他在軟件和硬件之間的系統(tǒng)層加了一層邏輯分辨率。雖然屏幕橫向有2560個(gè)像素點(diǎn)弄喘,但是告訴軟件我只有1280個(gè)像素點(diǎn)玖喘!當(dāng)word的寬度要占1280個(gè)像素的時(shí)候,實(shí)際上已經(jīng)占了2560個(gè)像素蘑志。于是我們的word又占滿屏幕了累奈!
于是喬幫主把這個(gè)機(jī)智的想法命名為邏輯分辨率,不管我顯示器的硬件有多少個(gè)像素點(diǎn)急但,我只會(huì)告訴軟件我的邏輯分辨率澎媒,這樣軟件的代碼就不用修改也能在不同的屏幕上顯示效果一致。
在多年后羊始,imac的物理分辨率已經(jīng)達(dá)到了5120 x 2880旱幼,但是告訴軟件的時(shí)候還是說(shuō)我的分辨率是1280*720,相當(dāng)在蓋茨看來(lái)的一個(gè)邏輯像素點(diǎn)突委,背后實(shí)際上已經(jīng)有16個(gè)物理像素點(diǎn)為其工作了柏卤!