幸运的是,这一困扰即将得到有效的解决。浏览器研究专家Leo在X平台上的发现显示,微软已经为Chromium提交了补丁,以解决深色模式下窗口创建时的白屏问题。
据深入了解,微软的解决方案颇具巧思。具体来说,当用户创建新窗口时,Windows系统会先将其设置为白色状态,这一过程会持续到Chrome或Edge浏览器接管窗口渲染为止。由于Windows的桌面窗口管理器(DWM.exe)在处理窗口时无法遵循深色主题设置,这才导致了白闪现象的出现。
微软的网页团队开发者Chris Davis提出了一种创新的方法来应对这一问题。他建议在Chrome或Edge浏览器能够显示深色背景之前,先将窗口“隐藏”起来。虽然这并非根治之策,特别是对于修复Windows 11中的DWM.exe问题而言,但这却是目前的最佳应对方案。
Chris Davis进一步解释说:“当窗口首次被创建时,DWM会为其设定默认的白色背景色。这会在深色模式下首次显示窗口时造成白闪。为了避免这种情况,我们选择在第一次显示窗口前先隐藏它,然后强制绘制预期的深色背景,待准备就绪后再解除隐藏。”
虽然一些Chromium代码贡献者对此方法持有保留意见,担忧在更新窗口为深色背景时可能出现GPU进程与页面内容绘制的竞争条件,但微软的测试结果证明该问题并不会出现。预计推出补丁后,Chrome和Edge浏览器将不再有白闪问题。
随着Chris Davis的隐藏窗口方法即将实施,用户们在Windows 11(以及Windows 10)系统上开启浏览器或创建新窗口时,将不再遭遇恼人的白闪。相关改进措施也将很快应用到Chrome和Edge浏览器中。