Win11 Outlook 点半天打不开?微软新 API 专查 WebView2 网页应用“卡壳”原因

12 月 14 日消息,Windows 11 中存在日益严重的“网页化”(web-enshittification)趋势,通知中心(Notification Center)新增的“日程视图”(Agenda view)竟也是由 WebView2 驱动。现在看来,Windows 11 未来将包含更多基于网页的用户界面,但微软表示,此举将有助于提升复杂网页应用的运行速度,尤其是像 Outlook 这类应用。

微软在一份支持文档中指出:“根据我们自身的经验,我们知道复杂应用程序需要复杂的架构,有时不得不依赖多个窗口、iframe 或工作线程。”

微软并不打算鼓励开发者或其内部团队放弃网页应用。相反,该公司正在测试一种名为“延迟消息计时”(Delayed Message Timing)的新 API。据 Windows Latest 发现的一份 GitHub 列表显示,这本质上是一种面向网页应用的诊断工具。

需要强调的是,这一 API 并不会像魔法一样直接让网页应用变快,因为它只是一个“诊断”工具。但微软坚称,它能让开发者精确测量网页应用在调用 postMessage () 时所耗费的时间。

据了解,网页应用通常会在不同上下文之间(例如窗口、iframe 或 Web Worker)使用 postMessage () 进行通信,而新 API 会通过 Performance API 将这些通信延迟记录为“delayed-message”条目。此外,微软似乎正利用这一新 API 来排查 Outlook 中的性能瓶颈,未来版本有望速度更快。

那么,这项技术是否专门用于加速 Windows 11 上的 WebView2 应用?该提案面向所有网页应用,自然也包括 Windows 11 上的 WebView2 应用,但其优化效果仅限于特定场景,且改进将是可见的。

像 Outlook 和 WhatsApp 这类应用均使用 WebView2 嵌入网页内容,其整体体验由基于 Chromium 的 Microsoft Edge 渲染引擎驱动。Electron 框架同样构建于 Chromium 之上。这也解释了为何在 Windows 11 上许多应用感觉变慢,因为它们大多依赖由谷歌资助开发的 Chromium 引擎。

“延迟消息计时”API 主要帮助那些在其网页层中重度依赖 postMessage () 的 WebView2 应用,精准定位性能瓶颈所在。

目前,Windows 11 上的新版 Outlook 整体表现尚可,但仍存在明显短板。例如,当用户点击 Windows 11 的通知时,Outlook 启动缓慢,其中很大一部分原因在于其内嵌的网页引擎。整个过程涉及多个耗时环节,包括加载初始页面、网络请求或身份验证、渲染等。

如果界面虽已显示却显得“卡顿”,而根本原因在于网页层内部对 postMessage () 的处理延迟,那么这一新 API 就能准确捕捉并揭示该延迟及其成因。

Published by

风君子

独自遨游何稽首 揭天掀地慰生平