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