IT之家 1 月 8 日消息,長(zhǎng)期以來(lái),當(dāng)用戶(hù)在開(kāi)啟了深色模式的 Windows 11 或 Windows 10 系統(tǒng)中使用 Chrome 或 Edge 瀏覽器時(shí),都會(huì)在打開(kāi)新窗口或啟動(dòng)瀏覽器時(shí)遇到惱人的白色閃屏問(wèn)題。這是因?yàn)?Chrome 和 Windows 在處理深色主題窗口創(chuàng)建方面尚存在不足。類(lèi)似的問(wèn)題也出現(xiàn)在文件資源管理器上,在加載之前會(huì)短暫出現(xiàn)白屏。

不過(guò),這一問(wèn)題即將得到解決。瀏覽器研究員 Leo 在 X 發(fā)現(xiàn),微軟已經(jīng)為 Chromium 提交了補(bǔ)丁,旨在消除深色模式下窗口創(chuàng)建時(shí)的白屏問(wèn)題。
據(jù)IT之家了解,微軟的解決方案是通過(guò)一種“隱藏”窗口的方式來(lái)規(guī)避問(wèn)題。具體而言,當(dāng)用戶(hù)創(chuàng)建新窗口時(shí),Windows 本身會(huì)將其設(shè)置為白色狀態(tài),并一直保持到 Chrome 或 Edge 接管渲染為止。由于 Windows 的桌面窗口管理器 (DWM.exe) 在處理窗口管理時(shí)無(wú)法遵循深色主題設(shè)置,就會(huì)造成白閃的出現(xiàn)。

微軟的網(wǎng)頁(yè)團(tuán)隊(duì)開(kāi)發(fā)者 Chris Davis 提出了一種解決方法,即在 Chrome 或 Edge 可以顯示深色背景之前將窗口“隱藏”起來(lái)。雖然這聽(tīng)起來(lái)更像是權(quán)宜之計(jì)而非徹底修復(fù) Windows 11 的 DWM.exe,但目前看來(lái)是最佳方案。
Chris Davis 解釋道:“當(dāng)窗口首次創(chuàng)建時(shí),DWM 將為其使用默認(rèn)的白色背景色。這會(huì)導(dǎo)致在深色模式下首次顯示窗口時(shí)出現(xiàn)白閃。為了避免這種情況,我們?cè)诘谝淮物@示窗口之前將其隱藏,并強(qiáng)制繪制預(yù)期的背景色,然后再取消隱藏?!?/p>
一些 Chromium 代碼貢獻(xiàn)者對(duì)這種方法持保留態(tài)度,他們擔(dān)心在更新窗口為深色背景時(shí),GPU 進(jìn)程完成頁(yè)面內(nèi)容繪制可能出現(xiàn)競(jìng)爭(zhēng)條件,導(dǎo)致 Chrome 用深色覆蓋原始屏幕內(nèi)容。不過(guò),微軟的測(cè)試表明這種情況并未發(fā)生,因此推出補(bǔ)丁后 Chrome 可能不會(huì)遇到此類(lèi)問(wèn)題。
Chris Davis 的隱藏窗口方法即將實(shí)施,這意味著用戶(hù)在 Windows 11(以及 Windows 10)上將不再看到啟動(dòng)瀏覽器或創(chuàng)建新窗口時(shí)的白閃問(wèn)題。相關(guān)改動(dòng)將很快推送至 Chrome 和 Edge 瀏覽器。
廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。