0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

跨平台多设备系统FLUID-XP

SSDFans 来源:SSDFans 2023-08-01 16:32 次阅读

本工作来自 KAIST,发表于 A 类会议 Mobicom 2021,是该团队在移动系统的跨设备交互领域的最新成果(该团队上期工作FLUID曾获 Mobicom 2019 最佳论文奖)。针对在多个设备上使用单个应用程序的场景,本工作提出了新颖的跨平台多设备系统 FLUID-XP,能在多个异构设备上无缝透明高效地划分并使用现有应用程序的 UI 元素,支持大量未经修改的应用程序并且用户体验良好。

01 背景 & 动机

过去移动计算的主要趋势之一就是移动智能设备的普及和多样化,在这种趋势下,如今出现了一种全新的单个应用程序多个设备(Single-App,Multi-Device)的交互范式。

01e08474-3005-11ee-9e74-dac502259ad0.png

这种范式在不同领域都创造了新颖的实用的交互用例,例如,图片编辑器可以使用电脑作为画布,使用平板电脑作为编辑工具;玩家在平板上打剧情游戏时可以一边阅读角色信息,一边在手机上查阅其它视角的游戏地图以寻找游戏彩蛋。

近年来,很多研究提出了几种技术来支持这种多设备交互,包括:屏幕投射(ScreenCasting),远程显示(remote display),定制化多屏 app 以及 FLUID。现有方案还存在至关重要的限制,它们无法支持异构平台并且不支持更广泛的 app。支持笔记本电脑,智能电视,平板电脑和智能手机这些异构平台的互连对于全面支持多设备交互有着至关重要的作用。

02 设计方案

本文提出了一种新颖的跨平台 UI 分发系统 FLUID-XP(支持跨平台体验的灵活 UI 界面分发),将 FLUID 扩展到了跨异构平台的环境。

简单来说,FLUID-XP 利用了现有的不同平台的虚拟显示器(Virtual Display)抽象技术和系统级图形渲染管线设计,让虚拟显示器渲染对应 guest UI 树的像素数据,通过多条网络链路将数据发送到 guest 端设备(host 端指应用程序源端,guest 端指接收并显示分发的 UI 组件的客户端),在 guest 端进行像素的合成和显示。

020f3ff8-3005-11ee-9e74-dac502259ad0.png

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 个应用程序的流延迟细分结果。

02484406-3005-11ee-9e74-dac502259ad0.png

在大多数情况下,UI 分发技术显示的流延迟略低于全屏分发。由于流延迟主要取决于每个帧的大小,当guest设备的分辨率更大时,FLUID-XP 会根据用户偏好重新缩放扩大 UI,因此有些时候会增加传输延迟,延迟的安全边界时 160ms,因此 FLUID-XP 的响应速度基本能满足用户的日常使用需求。

感兴趣的朋友可以通过原文查阅更详细的网络使用情况测试,流媒体质量评估,能耗测试和用户调研情况。

04 总结

本工作设计并实现了新颖的支持跨异构平台的多设备系统 FLUID-XP,实现了创新的跨设备交互技术。FLUID-XP 有选择地划分未修改应用程序的单个 UI 元素,并以独立于平台的方式将它们分布在多个设备上,从而根据单个 UI 元素的独特特征实现 Per-UI 优化。FLUID-XP 广泛地支持已有的应用程序,支持高度灵活和透明的 UI 分发,充分展示了高响应性和平台独立性的特点。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 应用程序
    +关注

    关注

    37

    文章

    3136

    浏览量

    56394
  • 移动系统
    +关注

    关注

    0

    文章

    6

    浏览量

    7223

原文标题:跨平台多设备系统FLUID-XP

文章出处:【微信号:SSDFans,微信公众号:SSDFans】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    手机软件平台

    求手机软件平台的开发环境。想找一种开发一次,可以在多个手机操作系统上运行的手机软件开发环境。好像联发科的VRE、卓睿软件的ECDS-MUI有这样的功能。求高手指导一下。
    发表于 06-01 15:10

    JAVA语言为什么能平台

    执行的代码。因此对于Java编程者来说,不需要考虑硬件平台是什么。所以Java可以平台。因为它有虚拟机(JVM),JAVA程序不是直接在电脑上运行的,是在虚拟机上进行的,每个系统
    发表于 11-27 17:06

    PaddlePaddle Fluid版本的PaddlePaddle如何保存模型

    PaddlePaddle Fluid版本的PaddlePaddle如何在训练前加载此前训练好的模型?
    发表于 04-15 11:19

    支持品牌品类产品互联互通的“智家”APP更新了

    随着智能音箱的普及,5G商用时代的到来,智能家居将不再是单个产品的智能化,而是产品之间相互连通。市场上智能音箱种类繁多,作为消费电子厂商,如何才能在最短时间内对接不同智能音箱平台,实现品牌品类
    发表于 07-12 20:20

    轻量级Agent平台怎么测试?

    Agent系统一直没有应用到嵌入式设备上。这是由于没有合适的Agent平台能够适应于软、硬件资源受到限制的嵌入式系统。KVM (Kilo-bytes Virtual Machine)的
    发表于 09-27 06:26

    如何理解鸿蒙OS是设备的?

    谁能帮忙解释鸿蒙OS是怎样实现平台的?
    发表于 09-08 18:17

    HarmonyOS应用框架如何解决设备交互问题?

    应用框架中提供了两种基础功能,分别是:多端协同与端迁移。接下来我们将介绍HarmonyOS的上述两个能力是如何解决设备交互问题的。二、HarmonyOS如何解决
    发表于 08-12 11:03

    平台嵌入式数据库EffiProz介绍

    EffiProz:面向.NET程序员的平台嵌入式数据库 EffiProz:面向.NET程序员的平台嵌入式数据库EffiProz:面向.NET程序员的
    发表于 12-21 06:00

    DevEco Studio 2.1平台设备交互使用示例

    DevEco Studio 2.1新增开发者使用的平台设备交互界面(超级用户可以使用该设备界面交互)。启动体验。手机支持“手机”和“手
    发表于 03-31 15:02

    如何用一套代码运行操作系统应用

    一、平台框架介绍 提到平台,要先理解什么是“平台”,这里的平台,就是指应用程序的运行环境,例
    发表于 02-08 14:46

    Windows XP操作系统 ppt课件

    Windows XP操作系统2.1 操作系统概念2.1.1 操作系统的地位2.1.2 操作系统的定义和功能2.1.3 操作
    发表于 11-07 09:50 0次下载

    使用RTX增加Windows XP/2000/XP Embe

    由于很多商业和技术原因,Microsoft(r) Windows NT(r)、Microsoft Windows 2000、Windows XP和Windows XP Embedded操作系统越来越多被考虑作为实时
    发表于 06-10 15:51 38次下载

    xp操作系统技巧

    xp操作系统技巧 1、 影音文件在xp中无法删除 很多情况下
    发表于 01-08 09:31 1316次阅读

    Fluid catalytic cracking of petroleum fraction

    Fluid catalytic cracking of petroleum fraction(5g电源技术要求)-Fluid catalytic cracking of petroleum fraction (vacuum gas oil) to produce gaso
    发表于 08-04 16:49 10次下载
    <b class='flag-5'>Fluid</b> catalytic cracking of petroleum fraction

    Fluid-Cloudnative云原生大数据应用支撑平台

    ./oschina_soft/fluid.zip
    发表于 05-16 09:44 7次下载
    <b class='flag-5'>Fluid</b>-Cloudnative云原生大数据应用支撑<b class='flag-5'>平台</b>