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