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