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