在Windows 11和Windows 10的深色模式环境中,Chrome和Edge浏览器的用户长期以来一直面临着一个共同的问题:每当打开新窗口或启动浏览器时,总会遭遇一次短暂而刺眼的白色闪屏。这一现象源于Chrome浏览器与Windows系统在深色主题窗口处理上的不兼容,导致用户在享受深色模式带来的视觉舒适时,不得不忍受这一小小的瑕疵。
近日,这一长期困扰用户的问题有望得到解决。据浏览器研究员Leo透露,微软已经为Chromium内核提交了修复补丁,旨在彻底消除深色模式下窗口创建时的白屏现象。这一消息无疑为广大用户带来了福音。
据了解,微软的解决方案采用了“隐藏窗口”的策略。具体来说,当用户尝试创建新窗口时,Windows系统会先将窗口设置为默认的白色状态,并一直保持这种状态,直到Chrome或Edge浏览器接管窗口的渲染工作。然而,由于Windows的桌面窗口管理器(DWM.exe)在处理窗口管理时无法完全遵循深色主题的设置,这导致了白屏现象的出现。
为了解决这个问题,微软的网页团队开发者Chris Davis提出了一种创新的解决方案:在Chrome或Edge浏览器能够显示深色背景之前,先将窗口“隐藏”起来。Chris Davis解释道:“当窗口首次被创建时,DWM会为其应用默认的白色背景色。这会导致在深色模式下首次显示窗口时出现白闪。为了避免这种情况,我们在窗口首次显示之前将其隐藏,并强制绘制预期的深色背景色,然后再取消隐藏。”
尽管一些Chromium代码贡献者对这种“隐藏窗口”的方法持保留态度,担心在更新窗口背景色时可能出现GPU进程与页面内容绘制的竞争条件,导致Chrome用深色覆盖原始屏幕内容的问题。然而,经过微软的测试验证,这种情况并未发生。因此,可以预见的是,在补丁推出后,Chrome浏览器将不会遇到此类问题。
Chris Davis的“隐藏窗口”方法即将被实施,这意味着在不久的将来,Windows 11和Windows 10的用户在使用Chrome和Edge浏览器时,将不再看到启动浏览器或创建新窗口时的白屏现象。这一改动将大大提升用户在深色模式下的使用体验,并有望推动其他浏览器和操作系统在深色主题处理上的进一步优化。
随着这一问题的解决,用户将能够更加流畅地享受深色模式带来的视觉舒适和节能效果。同时,这也体现了微软和Chrome团队在不断提升用户体验方面的努力和决心。相信在不久的将来,我们将会看到更多类似的优化和改进,让计算机的使用变得更加便捷和愉悦。