1. 程式人生 > 資訊 >微軟:Win11 Edge 瀏覽器 Ink API 將網頁「電子墨跡延遲」提速改進 240%

微軟:Win11 Edge 瀏覽器 Ink API 將網頁「電子墨跡延遲」提速改進 240%

8 月 19 日訊息 外媒 MSPoweruser 報道,今天,微軟宣佈在 Edge 瀏覽器的最新 Dev 開發渠道版本預覽中提供增強的電子墨跡體驗。微軟在 Build 2021 期間首次介紹了 Edge 的這些增強功能,展示了新的網頁 API(已在 Chromium 開源專案上游實現)是如何大大減少物理手寫筆的筆尖和電子墨跡在螢幕上繪製時的延遲的。

獲悉,從微軟在 Windows 11 Insider Preview Builds 上的初步實驗來看,他們已經測出了高達 240% 的延遲提速改進,這在下面的動畫中以綠色顯示。

現在可以通過下載最新的 Windows 11 Insider Preview 版本和執行微軟在最新的 Edge Dev 頻道上的部落格文章中介紹的程式碼樣本,在網頁上獲得新的和改進的墨跡體驗。

技術細節

在目前基於 Chromium 的瀏覽器中,手寫筆事件首先被髮送到瀏覽器程序,而瀏覽器程序又將這些事件轉發到 Web 網頁應用程式的 JavaScript 事件迴圈。瀏覽器程序收到這些事件和它們到達應用程式之間的時間延遲有時會很明顯,這取決於主執行緒的其他部分,從而導致在電子墨跡化時出現延遲。

為了改善這一點,在 Windows 11 上的 InkPresenter 實現幕後,微軟 Edge 正在使用一個新的 Windows API,它將直接與作業系統的合成器合作,在 Edge 的應用程式迴圈之外繪製額外的墨跡筆觸。由於這個 API,我們不用等待通過 JavaScript 將事件傳遞給網頁應用,而是可以在收到這些點後立即將它們提供給作業系統的合成器。然後,合成器可以用墨跡筆畫將這些點連線起來,並在要呈現在螢幕上的下一幀中繪製這些筆畫,大大減少了延遲。

對於像 Windows 10 和 Linux 這樣沒有這個 API 的作業系統,在 Edge 中直接實現的 polyfill 將接管併為最後一個已知的受信任的 PointerEvent 之外的墨跡筆觸提供預測性渲染。這個實現的目的是與 Windows 11 的 API 類似--它利用瀏覽器所知道的點,以及一些預測的點,在最後一刻為應用程式的筆跡畫出一個擴充套件。雖然效果沒有 Windows 11 API 那麼強大,但它仍然可以為使用者提供更多的體驗。

展望未來

正如介紹中提到的,實現這個 API 的工作是作為對 Chromium 專案的上游貢獻而完成的,任何基於 Chromium 的瀏覽器都是預設開啟支援的。

展望未來,微軟將繼續調整由 Edge 實施的 polyfill 為非 Windows 11 安裝提供的預測值。他們希望在調整預測系統使用的值和演算法時,繼續看到延遲的改善。

更多關於 Ink API 資訊進展,你可以訪問 GitHub 上的規範草案頁面:Ink API

開發人員可以在這裡閱讀更多關於在微軟實施該 API 的資訊。