微软宣布在 Microsoft Edge 的最新 Dev Channel 版本中提供增强的墨迹体验的预览版。微软在Build 2021期间首次引入了这些增强功能,展示了这个在 Chromium 开源项目上游实现的新 Web API 如何大大减少物理笔尖和墨水在屏幕上绘制时的延迟。
从他们在 Windows 11 Insider Preview Builds 上的初始实验中,他们测量到延迟提高了 240%,这在下面的动画中以绿色突出显示:
微软宣布在 Microsoft Edge 的最新 Dev Channel 版本中提供增强的墨迹体验的预览版。微软在Build 2021期间首次引入了这些增强功能,展示了这个在 Chromium 开源项目上游实现的新 Web API 如何大大减少物理笔尖和墨水在屏幕上绘制时的延迟。
从他们在 Windows 11 Insider Preview Builds 上的初始实验中,他们测量到延迟提高了 240%,这在下面的动画中以绿色突出显示:
通过下载最新的Windows 11 Insider Preview Builds并运行 Microsoft 在最新Microsoft Edge Dev Channel上的博客文章中提供的代码示例,现在可以在 Web 上获得新的和改进的墨迹书写体验。
在当今基于 Chromium 的浏览器中,笔事件首先发送到浏览器进程,浏览器进程又将这些事件转发到 Web 应用程序的 JavaScript 事件循环。浏览器进程接收到这些事件和它们到达应用程序之间的时间延迟有时会很明显,这取决于主线程的其余部分,从而导致在墨迹书写时看到延迟。
为了改善这一点,在 Windows 11 上InkPresenter 实现的幕后 ,Microsoft Edge 正在使用新的 Windows API,该 API 将直接与操作系统的合成器一起使用,以在 Microsoft Edge 的应用程序循环之外绘制额外的墨迹笔划。多亏了这个 API,我们不用等待通过 JavaScript 将事件传递给 Web 应用程序,我们可以获取这些点,并在我们收到它们后立即将它们提供给操作系统合成器。然后,合成器可以将这些点与墨水笔划连接起来,并在要呈现给屏幕的下一帧中绘制这些笔划,从而显着减少延迟。
对于没有此 API 的 Windows 10 和 Linux 等操作系统,直接在 Microsoft Edge 中实现的polyfill将接管并为超出最后已知的受信任PointerEvent 的墨迹笔划提供预测渲染 。此实现旨在与 Windows 11 API 类似地工作 – 它利用浏览器知道的点以及一些预测点在最后一刻绘制应用程序墨迹笔划的扩展。虽然效果不如 Windows 11 API 强大,但它仍然可以为用户提供大大改进的体验!
正如介绍中提到的,实现这个 API 的工作是作为对 Chromium 项目的上游贡献完成的,并且默认情况下为任何基于 Chromium 的浏览器打开。
展望未来,Microsoft 将继续调整 Edge 实现的 polyfill 为非 Windows 11 安装提供的预测值。他们希望在调整预测系统正在使用的值和算法时继续看到延迟的改进。
要了解有关 Ink API 的更多信息并在标准轨道上跟踪其进展,您可以访问 GitHub 上的规范草案页面: Ink API。
开发人员可以在此处阅读有关在 Microsoft 实施它的更多信息。