本工作來自 KAIST,發表于 A 類會議 Mobicom 2021,是該團隊在移動系統的跨設備交互領域的最新成果(該團隊上期工作FLUID曾獲 Mobicom 2019 最佳論文獎)。針對在多個設備上使用單個應用程序的場景,本工作提出了新穎的跨平臺多設備系統 FLUID-XP,能在多個異構設備上無縫透明高效地劃分并使用現有應用程序的 UI 元素,支持大量未經修改的應用程序并且用戶體驗良好。
01 背景 & 動機
過去移動計算的主要趨勢之一就是移動智能設備的普及和多樣化,在這種趨勢下,如今出現了一種全新的單個應用程序多個設備(Single-App,Multi-Device)的交互范式。
這種范式在不同領域都創造了新穎的實用的交互用例,例如,圖片編輯器可以使用電腦作為畫布,使用平板電腦作為編輯工具;玩家在平板上打劇情游戲時可以一邊閱讀角色信息,一邊在手機上查閱其它視角的游戲地圖以尋找游戲彩蛋。
近年來,很多研究提出了幾種技術來支持這種多設備交互,包括:屏幕投射(ScreenCasting),遠程顯示(remote display),定制化多屏 app 以及 FLUID?,F有方案還存在至關重要的限制,它們無法支持異構平臺并且不支持更廣泛的 app。支持筆記本電腦,智能電視,平板電腦和智能手機這些異構平臺的互連對于全面支持多設備交互有著至關重要的作用。
02 設計方案
本文提出了一種新穎的跨平臺 UI 分發系統 FLUID-XP(支持跨平臺體驗的靈活 UI 界面分發),將 FLUID 擴展到了跨異構平臺的環境。
簡單來說,FLUID-XP 利用了現有的不同平臺的虛擬顯示器(Virtual Display)抽象技術和系統級圖形渲染管線設計,讓虛擬顯示器渲染對應 guest UI 樹的像素數據,通過多條網絡鏈路將數據發送到 guest 端設備(host 端指應用程序源端,guest 端指接收并顯示分發的 UI 組件的客戶端),在 guest 端進行像素的合成和顯示。
FLUID-XP 采用了與 FLUID 完全不同的系統設計,FLUID 通過 UI 遷移和透明 RPC 調用的方式實現了同平臺跨設備交互。為了支持獨立于平臺的方式分發 UI 元素,FLUID-XP 采用傳輸像素集的方式,引入了一種新穎的 split-pipeline 跨設備圖形架構,該架構僅編碼和傳輸組成遠程顯示所需的最小像素集。由遠端設備上的 app 重新組合 UI 元素布局并顯示。
FLUID-XP 面臨三個全新的技術挑戰:對應用程序透明的多顯示器支持;跨平臺的多設備渲染;Per-UI 元素優化。
1. 對應用程序透明的多顯示器支持
為了支持未修改的現有應用程序,我們應該能夠將現有應用程序的 UI 分發到多個異構系統的屏幕上,而無需修改應用本身,好處是未來可以減少軟件開發人員的編程負擔,免于學習開發多顯示器應用程序的 API。
為此,FLUID-XP 采用了一種新方法來管理 UI 樹,在內部為每個物理顯示器創建一個 guest UI 樹(如上圖 1 所示),將每個劃分的 UI 元素從目標 app 的原生 UI 樹上映射到相應的 guest UI 樹上,這樣 FLUID-XP 仍然向應用程序呈現單個 UI 樹抽象,并隱藏多個 guest UI 樹的存在,渲染系統會識別并獨立渲染每個 guest UI 樹。
因此,FLUID-XP 可以在不增加額外編程負擔的情況下,為現有應用程序提供了單一顯示器的錯覺,以便透明地使用多個顯示器,實現了透明度。
最后,FLUID-XP提供了兩種方法允許用戶或開發人員指定 UI 元素分發,即確定哪些 UI 元素在哪個 UI 樹的布局中分發,分別是:運行時動態 UI 篩選和元數據 XML 文件規范。
2. 跨平臺的多設備渲染
操作系統默認的圖形流水線(Graphics Pipeline)由五個連續的階段組成:遍歷 UI 樹 - 剪輯 - 渲染像素集 - 合成幀 - 顯示。
FLUID-XP 旨在采用多設備圖形管道,以最少的網絡使用量支持廣泛的異構平臺。一旦 UI 元素映射到 guest UI 樹以進行分發,FLUID-XP 就會渲染 guest UI 樹并將它們顯示在 guest 設備上。
最關鍵的步驟是,FLUID-XP 為了將不同的 guest UI 樹分布在異構平臺的設備之間,會檢查現有的圖形管道,并確定 host 設備與 guest 設備之間應該分工(拆分圖形渲染流水線)的理想階段。
FLUID-XP 會將圖形流水線拆分(一般在合成階段進行分割),以便在 host 設備上執行遍歷 - 剪輯 - 渲染階段,在 guest 設備上執行合成 - 顯示階段。
由于拆分后傳輸的是像素集,這是一種通用的、與平臺無關的數據格式,所以劃分圖形流水線的的設計支持廣泛的異構平臺,同時會最大限度地減少設備之間的 UI 數據傳輸量,減少額外的計算開銷。
然后,一個重大的挑戰是如何以獨立于設備的方式執行上述操作,這時 FLUID-XP利用了存在于移動平臺上的不同名稱的虛擬顯示器抽象。
虛擬顯示器技術本身沒有對應的物理顯示器,而是對應多個單獨的邏輯顯示器,每個虛擬顯示器都有自己獨立的 UI 樹和圖形管道,可以通過物理顯示器或軟件顯示來可視化。
因此,對于每個要分發的 UI 元素,FLUID-XP 創建一個新的虛擬顯示器并將其附加到虛擬顯示器的 UI 樹上。然后每當更新 UI 元素時,只有與 UI 對應的圖形管道觸發渲染,只會為更新的 UI 元素生成像素。
3. Per-UI 元素優化
目前,FLUID-XP 的默認策略是將一組具有相似特征的 UI 元素一起分配在同一個虛擬顯示器上。例如,具有低更新頻率的 UI 元素(例如,按鈕和圖像)和具有高更新頻率的 UI 元素(例如,視頻)。
這是一種靈活的系統架構,根據其特性和要求以不同方式處理各個 UI 元素。這允許通過混合使用最先進的多設備渲染技術(例如,FLUID、Chromecast、流協議)對多設備渲染進行更細粒度的優化,即 Per-UI 的優化。
眾所周知,在無線網絡中跨設備分發 UI 時,同時實現高視覺質量和低延遲非常具有挑戰性。為了解決這個問題,FLUID-XP 采用了一種靈活的方法,對不同的 UI 元素集采用不同的傳輸協議來滿足各種需求。
動態 UI 會經常更新,允許偶然性數據丟失而出現的一些失真,但通常不能容忍高延遲的等待。另一方面,對于更新較慢的靜態 UI,能容忍延遲但對失真異常敏感。
在這方面,FLUID-XP 通過將不同的 UI 元素子集分配給不同的虛擬顯示器來采用 Per-UI 圖形管道。這樣,在傳輸每個不同虛擬顯示器的渲染結果(即像素)時,FLUID-XP 可以采用適合分配給虛擬顯示器的 UI 元素特性的不同傳輸協議。
03 實驗評估
實驗評估環境支持
首先,為了支持無縫的用戶交互,FLUID-XP 實現了設備之間的輸入翻譯。提供給 guest 設備的任何輸入都將轉換為適當的輸入事件并傳輸到 host 設備。
其次,已經在 Android 開源項目 (AOSP) 上實現了 FLUID-XP 主機原型,并在三個不同平臺(Android、iOS 和 Ubuntu)上實現了 guest 設備的包裝 app。使用 Google Pixel 4 XL 作為 host 設備,以及 Google Pixel 4 XL、三星Galaxy Tab S7、Apple iPhone 11和聯想ThinkPad X1 Carbon(Ubuntu) 用于 guest 設備。
最后,Wi-Fi 接入點提供 140 Mbps 的吞吐量,往返時間 (RTT) 的中值、平均值和標準差分別為 4.27、10.55 和 13.99 ms。
FLUID-XP 原型用于未修改的現有應用程序,以演示和評估其跨異構設備的完整功能,演示視頻網址:http://cps.kaist.ac.kr/research/fluid。
實驗一:覆蓋范圍測試 Coverage Test
為了了解 FLUID-XP 對現有未修改應用程序的透明 UI 分發的支持程度,我們在 11 個用例場景中評估了來自 Google Play 的 19 個應用程序和 1 個概念驗證階段的應用程序(Sports Live)。同時分別記錄了傳輸整個屏幕、傳輸對應 UI 元素集時傳輸的數據總量,還記錄了 Per-UI 優化節約的傳輸流量百分比。
覆蓋范圍測試具體涉及到的用例場景、劃分的 UI 元素以及各種網絡數據量使用情況詳見原文。
實驗二:性能測試 Performance Test
FLUID-XP 的 UI 分布技術的性能評估指標為:UI 流傳輸延遲、UI 響應時間和原生 UI 渲染效果。
UI 流傳輸延遲指的是在 guest 設備上顯示 UI 元素所需的額外時間,下圖展示了細粒度 UI 分發技術和全屏分發方案對于上述 20 個應用程序的流延遲細分結果。
在大多數情況下,UI 分發技術顯示的流延遲略低于全屏分發。由于流延遲主要取決于每個幀的大小,當guest設備的分辨率更大時,FLUID-XP 會根據用戶偏好重新縮放擴大 UI,因此有些時候會增加傳輸延遲,延遲的安全邊界時 160ms,因此 FLUID-XP 的響應速度基本能滿足用戶的日常使用需求。
感興趣的朋友可以通過原文查閱更詳細的網絡使用情況測試,流媒體質量評估,能耗測試和用戶調研情況。
04 總結
本工作設計并實現了新穎的支持跨異構平臺的多設備系統 FLUID-XP,實現了創新的跨設備交互技術。FLUID-XP 有選擇地劃分未修改應用程序的單個 UI 元素,并以獨立于平臺的方式將它們分布在多個設備上,從而根據單個 UI 元素的獨特特征實現 Per-UI 優化。FLUID-XP 廣泛地支持已有的應用程序,支持高度靈活和透明的 UI 分發,充分展示了高響應性和平臺獨立性的特點。
-
應用程序
+關注
關注
38文章
3297瀏覽量
57947 -
移動系統
+關注
關注
0文章
6瀏覽量
7268
原文標題:跨平臺多設備系統FLUID-XP
文章出處:【微信號:SSDFans,微信公眾號:SSDFans】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
手機軟件跨平臺
JAVA語言為什么能跨平臺?
支持跨品牌跨品類產品互聯互通的“智家”APP更新了
DevEco Studio 2.1跨平臺設備交互使用示例
Windows XP操作系統 ppt課件
使用RTX增加Windows XP/2000/XP Embe
基于Android的跨平臺資源管理系統的研究
一種輸變電設備多源數據處理系統的功能設計
![一種輸變電<b class='flag-5'>設備</b><b class='flag-5'>多</b>源數據處理<b class='flag-5'>系統</b>的功能設計](https://file.elecfans.com/web1/M00/46/66/pIYBAFqc3kOAJ9s3AADFJ-H9s58823.jpg)
Vulkan光線追蹤技術,實現跨平臺和跨系統
Fluid catalytic cracking of petroleum fraction
![<b class='flag-5'>Fluid</b> catalytic cracking of petroleum fraction](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
安裝xp win7 mac linux多系統
![安裝<b class='flag-5'>xp</b> win7 mac linux<b class='flag-5'>多</b><b class='flag-5'>系統</b>](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論