Windows 11 Edge Ink API:手寫輸入延遲最高改善240%
在 Microsoft Edge 的最新 Dev 頻道版本中,微軟放出了增強手寫輸入的預覽版。在 Build 2021 開發(fā)者大會上,微軟首次介紹了這些增強功能,展示了這個全新網絡 API(已在 Chromium 開源項目的上游實現)是如何大大減少物理手寫筆的筆尖和手寫在屏幕上繪制時的延遲。
在 Windows 11 最新預覽版中,微軟表示手寫延遲改善了 240%,下面動圖中綠色部分為增強手寫輸入,可以看到延遲得到了明顯改進,讓屏幕響應更快更跟手寫筆輸入。
技術細節(jié)
微軟解釋道目前基于 Chromium 的瀏覽器中,手寫筆事件首先發(fā)送到瀏覽器進程,而瀏覽器進程又將這些事件轉發(fā)到 Web 應用程序的 JavaScript 事件循環(huán)。瀏覽器進程收到這些事件和它們到達應用程序之間的時間延遲有時會很明顯,這取決于主線程的其他部分,從而導致在手寫時出現延遲。
為了改善這一點,在 Windows 11 上的 InkPresenter 實現的基礎上,Microsoft Edge 正在使用一個新的 Windows API,它將直接與操作系統(tǒng)的合成器合作,在 Microsoft Edge 的應用程序循環(huán)之外繪制額外的筆觸。由于這個API,我們不用等待通過JavaScript將事件傳遞給網絡應用,而是可以在收到這些點后立即將其提供給操作系統(tǒng)的合成器。然后,合成器可以用墨水筆畫將這些點連接起來,并在要呈現在屏幕上的下一幀中繪制這些筆畫,大大減少了延遲。
對于像 Windows 10 和 Linux 這樣沒有這個 API 的操作系統(tǒng),在 Microsoft Edge 中直接實現的 polyfill 將接管并為最后一個已知的可信任的PointerEvent之外的墨水筆觸提供預測性渲染。這個實現的目的是與Windows 11的API類似--它利用瀏覽器所知道的點,以及一些預測的點,在最后一刻為應用程序的筆跡畫出一個擴展。雖然效果沒有Windows 11 API那么強大,但它仍然可以為用戶提供更多的體驗!