CN115580674A - 一种提升云手机操控流畅度的方法 - Google Patents
一种提升云手机操控流畅度的方法 Download PDFInfo
- Publication number
- CN115580674A CN115580674A CN202211089238.7A CN202211089238A CN115580674A CN 115580674 A CN115580674 A CN 115580674A CN 202211089238 A CN202211089238 A CN 202211089238A CN 115580674 A CN115580674 A CN 115580674A
- Authority
- CN
- China
- Prior art keywords
- touch
- touch event
- mobile phone
- cloud mobile
- event
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本发明公开了一种提升云手机操控流畅度的方法,包括以下步骤:客户端通过以太网监听触控事件;客户端执行插值,并生成连续的触控事件;客户端将连续的触控事件通过以太网发送到云手机;云手机的代理程序收到触控事件后,将触控事件注入到云手机安卓系统中,本发明具备提高云手机操作体验的流畅度的优点。
Description
技术领域
本发明涉及云技术领域,尤其涉及一种提升云手机操控流畅度的方法。
背景技术
云手机作为一种新的智能手机的发展方向,依托云技术,将手机上所有的应用都转换到云端服务器,提供与智能手机同样的音视频服务;云端服务器具有强大的运算和存储能力,能快速地进行音视频编码,但是云端手机的操作依赖于客户端手机发送过来的触控事件,而由于安卓系统触控机制的限制,客户端手机发送的触控事件不是完全连续和紧密的,比如用户手指从(0.0)移动到(100.0),中间可能只产生(10.0),(23.0),(35.0)…(100.0)这几个点,再加上这些事件还需要通过网络发送到云手机,这就可能导致用户在操作云手机的时候有不流畅感。
发明内容
本发明提供了一种提升云手机操控流畅度的方法,具备提高云手机操作体验的流畅度的优点,解决了原有的云手机操作不流畅的问题。
根据本申请实施例提供的一种提升云手机操控流畅度的方法,包括以下步骤:
客户端通过以太网监听触控事件;
客户端执行插值,并生成连续的触控事件;
客户端将连续的触控事件通过以太网发送到云手机;
云手机的代理程序收到触控事件后,将触控事件注入到云手机安卓系统中。
优选地,所述客户端执行插值包括触摸插值和触摸外推,通过采样时间来平衡和确定触摸事件是插值或外推。
优选地,所述触摸插值包括如下步骤:
当最后一次触摸事件在采样时间之后发生时;
客户端接收两个触摸事件;
在两个触摸事件中间的任一位置上创建一个触摸事件。
优选地,所述触摸外推包括如下步骤:
当最后一次触摸事件在采样时间之前发生时;
客户端进行两次触摸事件;
在上一次触摸事件之前的任一位置上创建一个触摸事件,或预测触摸事件的位置。
本申请实施例提供的技术方案可以包括以下有益效果:
本发明通过插值和外推法产生了更多的连续和紧密的触控事件,从而使得用户在操作云手机时能感到更加地流畅。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的流程结构示意图;
图2为本发明的另一流程结构示意图;
图3为本发明的又一流程结构示意图;
图4为本发明的触摸事件和采样时间的结构示意图;
图5为本发明的另一触摸事件和采样时间的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
手机的触控事件说到底是产生自用户对屏幕的触压,从而产生电流变化,底层驱动监听到后将其封装成事件发送给上层Framework。也就是说产生事件的连续度和紧密度最终还是取决于手机屏幕和底层驱动,这是应用层无法介入的,因此只能依托一些算法,来根据已有的触摸事件生成更多的连续和紧密的触控事件。生成事件在时间和位置上都有切合已有的事件,这就需要依托于Android的重采样算法和vsync信号。总的来说有两种方案:触摸外推和触摸插值。
请参阅图1,本发明提供一种提升云手机操控流畅度的方法10,包括以下步骤:
步骤S1:客户端通过以太网监听触控事件;
步骤S2:客户端执行插值,并生成连续的触控事件;
步骤S3:客户端将连续的触控事件通过以太网发送到云手机;
步骤S4:云手机的代理程序收到触控事件后,将触控事件注入到云手机安卓系统中。
其中,所述客户端执行插值包括触摸插值和触摸外推,通过采样时间来平衡和确定触摸事件是插值或外推。
请参阅图2,所述触摸插值包括如下步骤:
步骤S11:当最后一次触摸事件在采样时间之后发生时;
步骤S12:客户端接收两个触摸事件;
步骤S13:在两个触摸事件中间的任一位置上创建一个触摸事件。
请参阅图3,所述触摸外推包括如下步骤:
步骤S21:当最后一次触摸事件在采样时间之前发生时;
步骤S22:客户端进行两次触摸事件;
步骤S23:在上一次触摸事件之前的任一位置上创建一个触摸事件,或预测触摸事件的位置。
请参阅图4和图5,图中vsync表示为60hz;而触摸屏刷新扫描速率为100hz。假设每10毫秒移动一次触摸输入事件,每10毫秒移动一次像素,每16.6毫秒刷新一次刷新显示vsync事件。Android的算法会创建一个称为“采样时间”的新计时事件,该事件始终比vsync事件晚5毫秒。因此,第一个采样时间为时间st=11ms(vsync时间-采样时间),然后下一个采样时间事件为时间st=27ms(32-5),下一个采样时间为43ms(48-5)。看一下与采样时间相同的图5。
采样时间用于平衡和确定触摸事件是外推还是插值,这里只看最后两个真实的触摸事件,而不看采样事件。
如果最后一次触摸事件发生在采样时间之后,但在垂直同步时间之前,则进行插值。例如参考时间vsync t=32ms,采样时间为时间st=27ms,有两个触摸事件。在时间t1=20ms和时间t2=30ms发生一次触摸事件。由于上一次触摸事件t2在32毫秒前和27毫秒之后,因此对这两个触摸事件进行插值。
如果最后一次触摸事件发生在采样时间之前,则会推断触摸事件。例如,在vsync事件t=48毫秒时,采样时间为st=43毫秒。上一次触摸事件发生在时间t=40ms,即采样时间之前。将使用时间t1=30ms和t2=40ms的最后两个触摸事件来推断vsync事件t=48的触摸事件。如果在采样时间之后(而不是垂直同步时间之后)存在触摸事件,则将插入最后两次触摸。如果两个触摸事件都在采样时间之前发生,则推断出最后两个触摸事件。
关于触摸插值,触摸插值不是简单的中点插值,因为它会考虑相对于采样时间发生触摸事件的时间。首先需要计算两次最后一次触摸事件之间经过的时间,这里称其为触摸时间差。每个设备应该相对稳定。在我们的测试情况下,这应该始终为10毫秒。接下来,计算采样时间与触摸事件之间的时间差,即采样时间之前的时间(触摸采样差异)。对于在vsync t=32的示例,采样时间为27ms。采样时间之前的第一次触摸事件为t=20ms。因此,27ms的采样时间-20ms的触摸时间=7ms。接下来,创建一个名为alpha的变量,它是触摸样本差异/触摸时间差异。在这种情况下,7ms/10ms=0.7。最后使用此alpha值作为采样时间之后的触摸事件与采样时间之前的触摸事件之间的中点修饰符进行线性插值。这里的两个触摸事件分别在时间t=20位移d=20和t=30位移d=30。首先使用样本之前的第一个触摸事件,然后向其添加插值位移。因此就有一个内插位移d=20+(30-20)*alpha,它是20+(10*0.7)=27。因此,在vsync时间t=32时,发送一个位移为d=27的触摸事件。较大的alpha表示更倾向于最后一次触摸事件,而较低的alpha表示更倾向于第一次触摸事件。下面是方程式:
SampleTime=32ms–5ms=27ms
TouchDiffTime=30ms–20ms=10ms
TouchSampleTime=SampleTime(27ms)-20ms=7ms
alpha=7ms/10ms=0.7
Result=20+(30-20)*0.7=27
这是一般的方程式。LastTouch指的是SampleTime之前的触摸。FirstTouch指的是SampleTime之前的触摸。
TouchTimeDiff=LastTouch-FirstTouch
TouchSampleDiff=SampleTime-FirstTouch
alpha=TouchSampleDiff/TouchTimeDiff
Result=FirstTouch+(LastTouch-FirstTouch)*alpha
FirstTouch<SampleTime<LastTouch
再看一个示例,在vsync时间t=80处。有两个触摸事件,一个在时间t=70,另一个在时间t=80。这里的采样时间是80毫秒-5=75毫秒。由于在采样时间之后发生一次触摸事件t=80,因此进行插值。下面是公式:
SampleTime=80ms-5ms=75ms
TouchTimeDiff=80ms-70ms=10ms
TouchSampleDiff=SampleTime(75ms)-70ms=5ms
alpha=5ms/10ms=0.5
Result=70+(80-70)*0.5=75
可以看到了位移d=75的最终结果,就是插值的过程。
关于触摸外推,当最后一次触摸事件在采样时间之前发生时,则进行触摸外推。参考垂直同步时间t=48,采样时间48-5=43毫秒,有两个触摸事件,一个在时间t=30,另一个在时间t=40ms。由于两者均在43毫秒之前,因此推断触摸事件。逻辑工作原理与触摸插值类似,但有一些区别。两个触摸事件之间的触摸时间差仍然相同,始终为10ms。接下来计算触摸采样差,在这里是最后一次触摸事件减去采样时间,因此期望一个负数。将最后一次触摸事件设为t=40-采样时间st=43=-3。接下来以相同的方式计算alpha,即触摸样本差异/触摸时间差异。这种情况是(-3/10)=-0.3。最后再次使用相同的线性插值方程,但是由于alpha为负,因此可以推断。此外还会交换操作数,并从最后一次触摸中减去第一次触摸,并将起始位移设置为最后一次触摸。因此,与插值算法不同,这里是从最后一次触摸事件开始,并为其添加位移。最终结果是位移d=40+(30-40)*-0.3=43。因此,在这种情况下,就推断了3个像素。下面是所有的数学运算:
SampleTime=48-5-43ms
TouchTimeDiff=40-30=10ms
TouchSampleDiff=40-43=-3ms
alpha=-3/10=-0.3
Result=40+(30-40)*-0.3=43
下面是一般的外推方程。最后触摸是指最近的触摸。首次触摸是指较早的触摸事件。
TouchTimeDiff=LastTouch-FirstTouch
TouchSampleDiff=LastTouch-SampleTime
alpha=TouchSampleDiff/TouchTimeDiff
Result=LastTouch+(FirstTouch-LastTouch)*alpha
FirstTouch<LastTouch<SampleTime。
本申请实施例提供的技术方案可以包括以下有益效果:
本发明通过插值和外推法产生了更多的连续和紧密的触控事件,从而使得用户在操作云手机时能感到更加地流畅。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (4)
1.一种提升云手机操控流畅度的方法,其特征在于,包括以下步骤:
客户端通过以太网监听触控事件;
客户端执行插值,并生成连续的触控事件;
客户端将连续的触控事件通过以太网发送到云手机;
云手机的代理程序收到触控事件后,将触控事件注入到云手机安卓系统中。
2.根据权利要求1所述的一种提升云手机操控流畅度的方法,其特征在于,所述客户端执行插值包括触摸插值和触摸外推,通过采样时间来平衡和确定触摸事件是插值或外推。
3.根据权利要求2所述的一种提升云手机操控流畅度的方法,其特征在于,所述触摸插值包括如下步骤:
当最后一次触摸事件在采样时间之后发生时;
客户端接收两个触摸事件;
在两个触摸事件中间的任一位置上创建一个触摸事件。
4.根据权利要求2所述的一种提升云手机操控流畅度的方法,其特征在于,所述触摸外推包括如下步骤:
当最后一次触摸事件在采样时间之前发生时;
客户端进行两次触摸事件;
在上一次触摸事件之前的任一位置上创建一个触摸事件,或预测触摸事件的位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211089238.7A CN115580674A (zh) | 2022-09-07 | 2022-09-07 | 一种提升云手机操控流畅度的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211089238.7A CN115580674A (zh) | 2022-09-07 | 2022-09-07 | 一种提升云手机操控流畅度的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115580674A true CN115580674A (zh) | 2023-01-06 |
Family
ID=84580528
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211089238.7A Pending CN115580674A (zh) | 2022-09-07 | 2022-09-07 | 一种提升云手机操控流畅度的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115580674A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425418A (zh) * | 2012-05-23 | 2013-12-04 | 宏碁股份有限公司 | 触碰控制方法与移动装置 |
CN111857457A (zh) * | 2020-06-22 | 2020-10-30 | 北京百度网讯科技有限公司 | 云手机的操控方法、装置、电子设备及可读存储介质 |
CN112513795A (zh) * | 2018-08-01 | 2021-03-16 | 三星电子株式会社 | 处理输入事件的电子装置及其操作方法 |
CN112764570A (zh) * | 2020-12-31 | 2021-05-07 | 西安万像电子科技有限公司 | 触摸屏事件处理方法、装置及系统 |
CN114494046A (zh) * | 2022-01-10 | 2022-05-13 | 百果园技术(新加坡)有限公司 | 触摸轨迹处理方法、装置、终端、存储介质及程序产品 |
-
2022
- 2022-09-07 CN CN202211089238.7A patent/CN115580674A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425418A (zh) * | 2012-05-23 | 2013-12-04 | 宏碁股份有限公司 | 触碰控制方法与移动装置 |
CN112513795A (zh) * | 2018-08-01 | 2021-03-16 | 三星电子株式会社 | 处理输入事件的电子装置及其操作方法 |
CN111857457A (zh) * | 2020-06-22 | 2020-10-30 | 北京百度网讯科技有限公司 | 云手机的操控方法、装置、电子设备及可读存储介质 |
CN112764570A (zh) * | 2020-12-31 | 2021-05-07 | 西安万像电子科技有限公司 | 触摸屏事件处理方法、装置及系统 |
CN114494046A (zh) * | 2022-01-10 | 2022-05-13 | 百果园技术(新加坡)有限公司 | 触摸轨迹处理方法、装置、终端、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
AU2020233755B2 (en) | Controlling display performance | |
CN105912219B (zh) | 通知消息显示方法和终端设备 | |
US9189098B2 (en) | Systems and methods for syncing haptic feedback calls | |
US20140082522A1 (en) | Managing modality views on conversation canvas | |
CN109568948B (zh) | 网络游戏中对象的运动状态同步方法及装置 | |
JP2001195371A (ja) | コンピュータ・ネットワーク環境における一貫性、応答性、安全性に優れた分散型シミュレーションのための方法および装置 | |
CN105611215A (zh) | 一种视频通话方法及装置 | |
CN113438355B (zh) | 基于云手机的通讯方法、装置、设备以及存储介质 | |
CN112486439B (zh) | 房源信息的展示方法、装置、电子设备和存储介质 | |
WO2012158576A2 (en) | Presenting or sharing state in presence | |
CN108399222A (zh) | 一种页面刷新方法及装置 | |
EP3542264B1 (en) | Streaming application environment with recovery of lost or delayed input events | |
CN111208960A (zh) | 基于抽帧控制和时间同步算法的远程显示降延迟方法 | |
KR101288970B1 (ko) | 렌더링 장치 및 방법 | |
CN111914149A (zh) | 一种请求处理方法、装置、存储介质及电子设备 | |
CN110058778A (zh) | 输入面板切换方法及装置 | |
CN115580674A (zh) | 一种提升云手机操控流畅度的方法 | |
CN110209964A (zh) | 一种页面显示方法、装置及设备 | |
JP3625549B2 (ja) | 多地点ビデオ会議システム | |
CN114827736B (zh) | 一种视频回放方法、装置、电子设备及存储介质 | |
WO2024098871A9 (zh) | 数据处理方法、设备及存储介质 | |
WO2024087970A9 (zh) | 数据处理方法和相关装置 | |
CN106780676A (zh) | 一种用于显示动画的方法和装置 | |
WO2024098871A1 (zh) | 数据处理方法、设备及存储介质 | |
CN115150638B (zh) | 一种基于云桌面的数据传输方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |