Windows 開發(fā)者對貓真的是情有獨鐘。 除了 Windows 10 系統(tǒng)就出現(xiàn)的非官方吉祥物 NinjaCat 之外,事實上在 Windows 8 系統(tǒng)中開發(fā)人員就引入了一只 ASCII 碼的貓圖。 只是因為繪制 ASCII 貓圖像需要耗費時間和內(nèi)存,Windows 性能團隊最后要求開發(fā)團隊移除了貓圖像。
在 Windows 8 平板體驗中,對各種組件的組織和管理可以認為是層的集合,每個層都堆疊在下一個層的上面。鑒于今天討論的話題,重要的層是開始層(Start layer)和應(yīng)用層(Apps layer)。如果你正在使用一個應(yīng)用程序,那么應(yīng)用層會是全屏的。如果你已經(jīng)打開了開始從菜單,那么開始層會覆蓋應(yīng)用層。如果最后一個應(yīng)用退出了,那么開始層就會自動打開。任何時候都應(yīng)該有一個全屏層。
當然,在開發(fā)過程中,不可避免的會出現(xiàn)錯誤,如果開始層和應(yīng)用層都不顯示,那么就會導(dǎo)致黑屏。
導(dǎo)致黑屏的原因有很多種,例如顯卡驅(qū)動不兼容導(dǎo)致的崩潰;或者顯卡驅(qū)動正常工作,但是合成器崩潰,導(dǎo)致沒有給顯卡驅(qū)動提供任何東西;或者合成器正常工作,但是 Shell 崩潰了,所以合成器沒有東西可以渲染;又或者 Shell 可以正常工作,但它忘記在屏幕上放點東西。
針對最后一種情況,Windows 8 Shell 創(chuàng)建了一個支持窗口(backstop window),位于所有其他層的下面。如果其他層都不存在,那么至少你有一個后背窗口。在早期的調(diào)試版本中,該支持窗口包含一個 ASCII 碼的貓咪圖。這樣,如果你看到貓,你就知道你是在最后的失敗案例中。shell 正在運行,但是忘記在屏幕上顯示一些東西。
為什么是貓?
寫支持窗口的開發(fā)者非常喜歡貓,他們使用了一系列貓的圖像。在系統(tǒng)啟動的時候,他們將第一幅貓的圖像畫在支持窗口上,每次支持窗口被要求重新繪制的時候,他們就循環(huán)到下一幅圖片。這就像一個故事,每次都是一句話,每句話都在下一次出現(xiàn)災(zāi)難性故障時被揭示出來。
根據(jù) 微軟 博客發(fā)布的博文,事實上該支持頁面共有 9 個畫面,均用 ASCII 進行繪制。
【來源:cnBeta.COM】
關(guān)鍵詞: