Windows 8 有一只隱藏款的貓
微軟資深程序員、微軟開發(fā)者博客專欄《The Old New Thing》作者 Raymond Chen 介紹了 Windows 8 早期開發(fā)中的一件趣事:ASCII 貓。
Raymond 表示,“ASCII 貓”是為了分辨導(dǎo)致黑屏的原因引入的。當(dāng)時 Windows 8 在交互和顯示上使用了“層 (layer)”的概念,每一個層堆疊于下一個層之上?!皩印钡姆诸愑性S多,本文主要討論最重要的「開始層 (Start layer)」和「應(yīng)用層 (Apps layer)」。如果用戶正在使用應(yīng)用程序,則應(yīng)用層會占據(jù)全屏幕。這時候如果點擊了“開始”按鈕,那么開始層就會覆蓋應(yīng)用層。當(dāng)最后一個應(yīng)用程序退出,則自動進(jìn)入開始層。所以始終都會存在一個占據(jù)全屏幕的全屏層 (fullscreen layer)。
但在開發(fā)階段不可避免地會出錯:既不顯示開始層也沒有應(yīng)用層——從而導(dǎo)致黑屏。在 Windows 中,導(dǎo)致黑屏的原因有很多:
- 視頻驅(qū)動崩潰
- 視頻驅(qū)動正常運行,但圖形合成器崩潰,所以沒有內(nèi)容提供給視頻驅(qū)動
- 圖形合成器正常運行,但 shell 崩潰,所以圖形合成器沒有可渲染的內(nèi)容
- shell 正常運行,但忘記在屏幕顯示畫面
為了區(qū)分最后一種原因,Windows 8 shell 創(chuàng)建了一個后備層 (backstop window),它位于所有其他層之下。如果其他層都不顯示,至少還有一個可以使用的后備層。開發(fā)團(tuán)隊非常喜歡貓,在早期的調(diào)試版本中,后備層包含使用 ASCII 繪制的貓圖像。當(dāng)用戶看到貓時,就能知道導(dǎo)致黑屏的原因。
說了這么多,那么問題來了。為什么最后大家沒機會在 Windows 8 看到這只隱藏款的貓呢?原因很簡單,微軟的祖?zhèn)魉嚹堋翱车恫俊庇殖鍪至耍河捎? ASCII 繪制的貓圖像占用內(nèi)存和耗費時間,Windows 性能團(tuán)隊后來要求開發(fā)團(tuán)隊移除了 ASCII 貓。
除了這只隱藏款的 ASCII 貓,你知道微軟還在哪里使過用「貓」作為吉祥物嗎????????
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:Windows 8 有一只隱藏款的貓
本文地址:https://www.oschina.net/news/184676/windows8-ascii-cat