微軟修復 Windows 11/10 深色模式下 Chrome / Edge 瀏覽器白色閃屏問題
1 月 8 日消息,長期以來,當用戶在開啟了深色模式的 Windows 11 或 Windows 10 系統(tǒng)中使用 Chrome 或 Edge 瀏覽器時,都會在打開新窗口或啟動瀏覽器時遇到惱人的白色閃屏問題。這是因為 Chrome 和 Windows 在處理深色主題窗口創(chuàng)建方面尚存在不足。類似的問題也出現(xiàn)在文件資源管理器上,在加載之前會短暫出現(xiàn)白屏。
不過,這一問題即將得到解決。瀏覽器研究員 Leo 在 X 發(fā)現(xiàn),微軟已經為 Chromium 提交了補丁,旨在消除深色模式下窗口創(chuàng)建時的白屏問題。
據(jù)IT之家了解,微軟的解決方案是通過一種“隱藏”窗口的方式來規(guī)避問題。具體而言,當用戶創(chuàng)建新窗口時,Windows 本身會將其設置為白色狀態(tài),并一直保持到 Chrome 或 Edge 接管渲染為止。由于 Windows 的桌面窗口管理器 (DWM.exe) 在處理窗口管理時無法遵循深色主題設置,就會造成白閃的出現(xiàn)。
微軟的網(wǎng)頁團隊開發(fā)者 Chris Davis 提出了一種解決方法,即在 Chrome 或 Edge 可以顯示深色背景之前將窗口“隱藏”起來。雖然這聽起來更像是權宜之計而非徹底修復 Windows 11 的 DWM.exe,但目前看來是最佳方案。
Chris Davis 解釋道:“當窗口首次創(chuàng)建時,DWM 將為其使用默認的白色背景色。這會導致在深色模式下首次顯示窗口時出現(xiàn)白閃。為了避免這種情況,我們在第一次顯示窗口之前將其隱藏,并強制繪制預期的背景色,然后再取消隱藏。”
一些 Chromium 代碼貢獻者對這種方法持保留態(tài)度,他們擔心在更新窗口為深色背景時,GPU 進程完成頁面內容繪制可能出現(xiàn)競爭條件,導致 Chrome 用深色覆蓋原始屏幕內容。不過,微軟的測試表明這種情況并未發(fā)生,因此推出補丁后 Chrome 可能不會遇到此類問題。
Chris Davis 的隱藏窗口方法即將實施,這意味著用戶在 Windows 11(以及 Windows 10)上將不再看到啟動瀏覽器或創(chuàng)建新窗口時的白閃問題。相關改動將很快推送至 Chrome 和 Edge 瀏覽器。