CN111124230A - 输入响应方法、装置、电子设备及计算机可读存储介质 - Google Patents
输入响应方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN111124230A CN111124230A CN201911350788.8A CN201911350788A CN111124230A CN 111124230 A CN111124230 A CN 111124230A CN 201911350788 A CN201911350788 A CN 201911350788A CN 111124230 A CN111124230 A CN 111124230A
- Authority
- CN
- China
- Prior art keywords
- image frame
- vertical synchronization
- image
- input event
- application program
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例涉及计算机技术领域,公开了一种输入响应方法、装置、电子设备及计算机可读存储介质,包括:获取到输入事件时,确定输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过至少一个应用程序将输入事件分别处理为相应的图像帧,应用程序垂直同步是根据屏幕垂直同步、预测出的应用程序将输入事件处理为图像帧的第一时长以及预测出的对图像帧进行合成的第二时长确定出的时刻;接着,在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,图像帧合成垂直同步是根据屏幕垂直同步与第二时长确定出的时刻;接着,在屏幕垂直同步通过屏幕显示一幅图像,以响应输入事件。缩短输入事件的响应时间,提高响应速度。
Description
技术领域
本申请实施例涉及计算机技术领域,具体而言,本申请涉及一种输入响应方法、装置、电子设备及计算机存储介质。
背景技术
当下主流的操作系统,在对输入事件进行屏幕响应时,以垂直同步为参考,在固定的应用程序垂直同步触发应用程序对输入事件进行运算逻辑与渲染图像等处理,得到相应的图像帧,并在固定的图像帧合成垂直同步触发图像帧合成器对生成的图像帧进行合成,得到一幅图像,以及在固定的屏幕垂直同步触发屏幕对生成的一幅图像进行显示,如图1所示。
然而,本申请发明人在具体实现过程中,发现:基于以上策略设计的操作系统,导致用户输入到屏幕响应的耗时较长,造成较长的人机交互响应时间,致使用户操作有滞后感,看到的图像与其当前的操作差异较大。
发明内容
本申请实施例的目的旨在至少能解决上述的技术缺陷之一,特提出以下技术方案:
一方面,提供了一种输入响应方法,包括:
获取到输入事件时,确定输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过至少一个应用程序将输入事件分别处理为相应的图像帧,应用程序垂直同步是根据屏幕垂直同步、第一时长和第二时长确定出的时刻,第一时长是预测出的应用程序将输入事件处理为图像帧的时长,第二时长是预测出的对图像帧进行合成的时长;
在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,图像帧合成垂直同步是根据屏幕垂直同步与第二时长确定出的时刻;
在屏幕垂直同步,通过屏幕显示一幅图像,以响应输入事件。
一方面,提供了一种输入响应装置,包括:
第一处理模块,用于获取到输入事件时,确定输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过至少一个应用程序将输入事件分别处理为相应的图像帧,应用程序垂直同步是根据屏幕垂直同步、第一时长和第二时长确定出的时刻,第一时长是预测出的应用程序将输入事件处理为图像帧的时长,第二时长是预测出的对图像帧进行合成的时长;
合成模块,用于在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,图像帧合成垂直同步是根据屏幕垂直同步与第二时长确定出的时刻;
显示模块,用于在屏幕垂直同步,通过屏幕显示一幅图像,以响应输入事件。
在一种可能的实现方式中,还包括图像帧合成垂直同步确定模块与应用程序垂直同步确定模块;
图像帧合成垂直同步确定模块,用于将图像帧合成垂直同步确定为位于屏幕垂直同步之前、且与屏幕垂直同步的间隔大于或等于第二时长的时刻;
应用程序垂直同步确定模块,用于将应用程序垂直同步确定为位于图像帧合成垂直同步之前、且与图像帧合成垂直同步的间隔大于或等于第一时长的时刻。
在一种可能的实现方式中,还包括第一时长预测模块与第二时长预测模块;
第一时长预测模块,用于确定各个应用程序将各自对应的历史输入事件,分别处理为相应的图像帧的各个时长,并将该各个时长中的最大时长确定为第一时长;或者,用于确定与输入事件关联度最高的应用程序,将历史输入事件处理为图像帧的时长,并将该时长确定为第一时长;
第二时长预测模块用于确定对历史图像帧进行合成的合成时长,并将合成时长确定为第二时长。
在一种可能的实现方式中,还包括保存模块;
保存模块,用于将至少一个应用程序各自对应的图像帧保存至各自对应的图像帧队列;
合成模块,用于将至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像。
在一种可能的实现方式中,还包括第二处理模块;
第二处理模块,用于当任一图像帧队列中包括至少两个图像帧时,基于预定的图像帧处理策略,将任一图像帧队列处理为包括一个图像帧;
合成模块在将至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像时,具体用于将至少一个应用程序各自对应的图像帧队列中的一个图像帧合成为一幅图像。
在一种可能的实现方式中,第二处理模块具体用于根据至少两个图像帧的生成时间的先后排列顺序,将排列在最后的图像帧确定为任一图像帧队列中的图像帧,并丢弃其它的图像帧。
在一种可能的实现方式中,该方法包括预测模块与确定模块;
预测模块,用于根据触发输入事件的触控操作在屏幕的当前触控位置,预测下一触控位置;
确定模块,用于确定下一触控位置对应的输入事件,并对输入事件进行响应。
在一种可能的实现方式中,预测模块具体用于:
确定当前触控位置的位置信息、触控操作在当前触控位置的移动速度及触控操作在当前触控位置的移动加速度;
基于第一预定计算公式,根据位置信息、移动速度、移动加速度以及确定出的当前触控位置的预测时间,预测下一触控位置,当前触控位置的预测时间是基于第二预定计算公式,根据触控操作在当前触控位置的前一触控位置的预测时间、触控操作在当前触控位置的移动速度、触控操作在当前触控位置的前一触控位置的移动速度以及预设的最大预测时间确定出的。
一方面,提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述程序时实现上述的输入响应方法。
一方面,提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述的输入响应方法。
本申请实施例提供的输入响应方法,通过对应用程序垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,触发应用程序开始将输入事件处理为图像帧,实现应用程序的延迟触发,大大缩短应用程序的触发时刻(即应用程序垂直同步)到屏幕垂直同步之间的等待耗时,确保应用程序可以对距离应用程序垂直同步最近的时刻的输入事件进行处理;通过对图像帧合成垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,开始将图像帧合成一幅图像,实现了图像帧合成的延迟触发,大大缩短图像帧合成的触发时刻(即图像帧合成垂直同步)到屏幕垂直同步之间的等待耗时;通过上述对应用程序垂直同步和图像帧合成垂直同步进行优化,从整体上缩短对输入事件进行响应的时间,提高响应速度,有效避免出现操作滞后感及屏幕显示图像与当前操作存在较大差异的情况,极大提升用户体验。
本申请实施例附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请实施例上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为现有技术的输入响应的过程示意图;
图2为本申请实施例的输入响应方法的流程示意图;
图3为本申请实施例的一个从输入事件到屏幕响应的过程示意图;
图4为本申请实施例的应用程序垂直同步与图像帧合成垂直同步的示意图;
图5为本申请实施例的对输入事件进行响应的示意图;
图6为本申请实施例的又一从输入事件到屏幕响应的过程示意图;
图7为本申请实施例的再一从输入事件到屏幕响应的过程示意图;
图8为本申请实施例的预测下一触控位置的示意图;
图9为本申请实施例的优化后的对输入事件进行响应的过程示意图;
图10为本申请实施例的输入响应装置的基本结构示意图;
图11为本申请实施例的电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
下面以具体地实施例对本申请实施例的技术方案以及本申请实施例的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请一个实施例提供了一种输入响应方法,该方法由计算机设备执行,该计算机设备可以是终端。终端可以是台式设备或者移动终端。如图2所示,该方法包括:
步骤S210,获取到输入事件时,确定输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过至少一个应用程序将输入事件分别处理为相应的图像帧,应用程序垂直同步是根据屏幕垂直同步、第一时长和第二时长确定出的时刻,第一时长是预测出的应用程序将输入事件处理为图像帧的时长,第二时长是预测出的对图像帧进行合成的时长。
具体地,垂直同步(Vertical synchronization,Vsync)又可称作垂直同步脉冲,它是加在两帧之间的,指示着前一帧的结束和新一帧的开始。垂直同步脉冲是一个持续时间比较长的脉冲,可能持续一行或几行的扫描时间,但在这段时间内,没有像素信号出现。
具体地,输入事件包括但不限于屏幕的输入事件、终端设备旋转对应的输入事件以及通过鼠标、键盘及手柄等输入设备输入的输入事件,其中,屏幕的输入事件,包括但不限于通过屏幕传感器检测到点击屏幕、滑动屏幕等触控操作对应的输入事件,终端设备旋转对应的输入事件可以是通过角度传感器检测到终端设备发生旋转时对应的输入事件。针对不同终端设备的不同操作系统,一个输入事件可能对应一个应用程序,也可能对应两个应用程序,也可能对应三个应用程序,还可能对应更多数量的应用程序。需要说明的是,本申请文件中所说的应用程序为终端设备的操作系统内部所固有的对输入事件进行图像帧处理的程序。
在一个示例中,以终端设备为手机、操作系统为安卓操作系统为例,屏幕中间显示背景图及各种应用的图标的主画面,对应于安卓操作系统的一个应用程序(记作应用程序1),屏幕顶部的显示通信信号、电量等的顶部信息条,对应于安卓操作系统的另一个应用程序(记作应用程序2),屏幕底部的显示三角形、圆圈及方框等的底部信息条,对应于安卓操作系统的另一应用程序(记作应用程序3)。
具体地,终端设备检测到屏幕的触控操作时,获取该触控操作对应的输入事件,并确定与该输入事件相关联的至少一个应用程序。仍以上述示例为例,比如,当输入事件为针对顶部信息条的触控操作对应的输入事件时,确定与该输入事件相关联的应用程序为应用程序2,又比如,当输入事件为针对主画面的触控操作对应的输入事件时,确定与该输入事件相关联的应用程序为应用程序1、应用程序2及应用程序3。
通常,终端设备获取到输入事件时,将该输入事件发送给与该输入事件关联的至少一个应用程序,该至少一个应用程序在应用程序垂直同步到达时,开始对输入事件进行图像帧处理,即将输入事件处理为相应的图像帧。其中,应用程序垂直同步是触发应用程序开始将输入事件处理为相应的图像帧的具体时刻(或记作时间点)。换言之,在应用程序垂直同步到达时,开始触发应用程序将输入事件处理为相应的图像帧。
比如,当与输入事件相关联的应用程序为应用程序1时,在应用程序垂直同步到达时,通过应用程序1将该输入事件处理为相应的图像帧(记作图像帧1);又比如,当与输入事件相关联的应用程序为应用程序1与应用程序2时,在应用程序垂直同步到达时,通过应用程序1将该输入事件处理为相应的图像帧(记作图像帧1),同时通过应用程序2将该输入事件处理为相应的图像帧(记作图像帧2);再比如,当与输入事件相关联的应用程序为应用程序1、应用程序2与应用程序3时,在应用程序垂直同步到达时,通过应用程序1将该输入事件处理为相应的图像帧(记作图像帧1),同时通过应用程序2将该输入事件3处理为相应的图像帧(记作图像帧2),同时通过应用程序3将该输入事件3处理为相应的图像帧(记作图像帧3)。
其中,在实际应用中,应用程序可以通过中央处理器完成运算的逻辑,并根据运算的逻辑生成图像的绘制指令,并通过GPU(Graphics Processing Unit,图形处理)将这些绘制指令转化为其能识别的指令,从而根据识别出的指令绘制出相应的图像(即进行图像渲染),生成相应的图像帧。
具体地,上述的应用程序垂直同步不是终端设备所固有的垂直同步,而是根据屏幕垂直同步、预测出的应用程序将输入事件处理为图像帧的第一时长以及预测出的对图像帧进行合成的第二时长,确定出的时刻(或记作时间点)。其中,屏幕垂直同步是屏幕送显的时刻,是由屏幕的刷新频率决定的,例如60HZ的屏幕每秒钟显示60帧图像,在屏幕垂直同步到来时,屏幕就会将图像合成器合成的内容显示出来。
步骤S220,在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,图像帧合成垂直同步是根据屏幕垂直同步与第二时长确定出的时刻。
具体地,上述的至少一个应用程序将输入事件分别处理为相应的图像帧后,可以通过图像帧合成器对生成的至少一个图像帧进行合成。通常,图像帧合成器在图像帧合成垂直同步到达时,开始对上述的至少一个图像帧进行合成处理,得到合成后的一幅图像。其中,图像帧合成垂直同步是开始将至少一个图像帧合成为一幅图像的具体时刻(或记作时间点),换言之,在图像帧合成垂直同步到达时,开始触发将至少一个图像帧合成为一幅图像。
具体地,上述的图像帧合成垂直同步不是终端设备所固有的垂直同步,而是根据屏幕垂直同步、预测出的对图像帧进行合成的第二时长确定出的时刻。
步骤S230,在屏幕垂直同步,通过屏幕显示一幅图像,以响应输入事件。
具体地,在图像帧合成器将至少一个图像帧合成为一幅图像后,屏幕可以显示该一幅图像。通常,屏幕在屏幕垂直同步到达时,显示合成后的一幅图像。
具体地,图3给出了从输入事件到屏幕响应的过程示意图。在图3中,首先,在应用程序垂直同步到达时,通过与输入事件相关联的至少一个应用程序,分别为应用程序1、应用程序2、…、应用程序N,对输入事件分别进行运算逻辑和图像渲染,生成各自对应的图像帧,分别记作图像帧1、图像帧2、…、图像帧N;接着,在图像帧合成垂直同步到达时,通过图像帧合成器对图像帧1、图像帧2、…、图像帧N进行合成,得到一幅图像;接着,在屏幕垂直同步到达时,屏幕显示该一幅图像。
本申请实施例提供的输入响应方法,通过对应用程序垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,触发应用程序开始将输入事件处理为图像帧,实现应用程序的延迟触发,大大缩短应用程序的触发时刻(即应用程序垂直同步)到屏幕垂直同步之间的等待耗时,确保应用程序可以对距离应用程序垂直同步最近的时刻的输入事件进行处理;通过对图像帧合成垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,开始将图像帧合成一幅图像,实现了图像帧合成的延迟触发,大大缩短图像帧合成的触发时刻(即图像帧合成垂直同步)到屏幕垂直同步之间的等待耗时;通过上述对应用程序垂直同步和图像帧合成垂直同步进行优化,从整体上缩短对输入事件进行响应的时间,提高响应速度,有效避免出现操作滞后感及屏幕显示图像与当前操作存在较大差异的情况,极大提升用户体验。
在一种可能的实现方式中,根据屏幕垂直同步与第二时长,确定图像帧合成垂直同步,包括:将所述图像帧合成垂直同步确定为位于屏幕垂直同步之前、且与屏幕垂直同步的间隔大于或等于第二时长的时刻;
根据屏幕垂直同步、预测出的应用程序将输入事件处理为图像帧的第一时长以及预测出的对图像帧进行合成的第二时长,确定应用程序垂直同步,包括:将应用程序垂直同步确定为位于图像帧合成垂直同步之前、且与图像帧合成垂直同步的间隔大于或等于第一时长的时刻。
具体地,由于屏幕垂直同步是终端设备所固有的垂直同步,是固定不变的,于是可以根据屏幕垂直同步、预测的应用程序将输入事件处理为图像帧的时长(即上述的第一时长)以及预测出的对图像帧进行合成的时长(即上述的第二时长),推算出应用程序垂直同步与图像帧合成垂直同步。下面通过具体示例对其进行介绍:
在一个示例中,假如屏幕垂直同步为图4左侧所示的时间轴上的时刻C,即时刻C为屏幕垂直同步到达时间点、第二时长为Tout(比如为3ms、5ms等)、且第一时长为Tapp(比如为5ms、7ms等),则可以将位于屏幕垂直同步(即时刻C)之前、且与屏幕垂直同步的间隔等于第二时长(即Tout)的时刻,确定为图像帧合成垂直同步(记作B),即图像帧合成垂直同步的到达时刻为时刻B,如图4左侧所示;同样地,可以将位于屏幕垂直同步(即时刻C)之前、且与图像帧合成垂直同步(即时刻B)的间隔等于第一时长(即Tapp)的时刻,确定为应用程序垂直同步(记作A),即应用程序垂直同步的到达时刻为时刻A。
在又一示例中,在根据屏幕垂直同步、第二时长及第一时长,确定图像帧合成垂直同步与应用程序垂直同步的过程中,可以根据需要增加适当的缓冲时间,如图4右侧所示。在图4右侧所示的时间轴中,时刻C为屏幕垂直同步,时刻B’为根据需要增加适当时间缓冲后的图像帧合成垂直同步,即时刻B’为位于屏幕垂直同步(即时刻C)之前、且与屏幕垂直同步的间隔大于第二时长(即Tout)的时刻。同样地,时刻A’为根据需要增加适当时间缓冲后的应用程序垂直同步,即时刻A’为位于屏幕垂直同步(即时刻C)之前、且与图像帧合成垂直同步的间隔大于第一时长(即Tapp)的时刻。
在实际应用中,可以通过增加“垂直同步动态预测偏移”单元,来实现上述的图像帧合成垂直同步与应用程序垂直同步的预测。比如,可以通过“垂直同步动态预测偏移单元”,对应用程序的运算逻辑和图像渲染所耗费的时间进行统计预测,即统计预测应用程序将输入事件(比如历史输入事件)处理为图像帧的耗时(即上述的第一时长Tapp),从而根据第一时长Tapp,进一步确定应用程序垂直同步;又比如,可以通过“垂直同步动态预测偏移单元”,对图像帧合成器合成图像所需的时间进行统计预测,即预测图像帧合成器将图像帧合成图像的合成时长(即上述的第二时长Tout),从而根据第二时长Tout,进一步确定图像帧合成垂直同步。
下文以第一时长为Tapp、第二时长为Tout为例,对本申请实施例进行如下具体介绍:
在一种实现方式中,预测对图像帧进行合成的第二时长,包括:确定对历史图像帧进行合成的合成时长,并将合成时长确定为第二时长。
具体地,在通过“垂直同步动态预测偏移”单元,预测图像帧合成器将图像帧合成为图像的第二时长Tout的过程中,可以根据图像帧合成器将历史图像帧合成图像的合成时长,预测第二时长Tout,其中,可以将该合成时长确定为上述的第二时长Tout。换言之,可以对图像帧合成器将图像帧合成为图像的先验数据进行统计预测,估算图像帧合成器将图像帧合成图像的最大耗时,并将该最大耗时确定为第二时长Tout。当然,也可以实时统计预测图像帧合成器将图像帧合成图像的耗时,并将该耗时确定为第二时长Tout。其中,图像帧合成器将图像帧合成图像的耗时是比较稳定的。
在一种实现方式中,预测应用程序将输入事件处理为图像帧的第一时长,包括:确定各个应用程序将各自对应的历史输入事件,分别处理为相应的图像帧的各个时长,并将该各个时长中的最大时长确定为。第一时长;或者,确定与输入事件关联度最高的应用程序,将历史输入事件处理为图像帧的时长,并将该时长确定为第一时长。
具体地,在通过“垂直同步动态预测偏移”单元,预测应用程序将输入事件处理为图像帧的第一时长的过程中,可以根据各个应用程序将各自对应的历史输入事件,分别处理为相应的图像帧的各个时长,来预测第一时长。其中,在预测第一时长的过程中,为了确保各个应用程序均可以完成输入事件的图像帧处理,可以将各个时长中的最大时长确定为第一时长。假如终端设备的操作系统所固有的将输入事件处理为图像帧的应用程序一共有5个,分别为应用程序1、应用程序2、应用程序3、应用程序4及应用程序5,且应用程序1将历史输入事件处理为图像帧的时长为6ms(即应用程序1将历史输入事件处理为图像帧耗时6ms)、应用程序2将历史输入事件处理为图像帧的时长为5ms、应用程序3将历史输入事件处理为图像帧的时长为7ms、应用程序4将历史输入事件处理为图像帧的时长为5ms、应用程序5将历史输入事件处理为图像帧的时长为4ms,可以看出,在上述的各个时长中,最大时长为7ms,此时,可以将第一时长确定为7ms。
具体地,在通过“垂直同步动态预测偏移”单元,预测应用程序将输入事件处理为图像帧的第一时长的过程中,也可以将与输入事件关联度最高的应用程序,将历史输入事件处理为图像帧的时长,确定为第一时长。假如与输入事件相关联的应用程序为应用程序1、应用程序2及应用程序3,且与输入事件关联度最高的应用程序为应用程序1,而与应用程序2、应用程序3的关联度较低,则可以根据应用程序1将历史输入事件处理为图像帧的时长,预测第一时长。比如应用程序1将历史输入事件处理为图像帧的时长为5ms,应用程序2将历史输入事件处理为图像帧的时长为6ms,应用程序3将历史输入事件处理为图像帧的时长为3ms,则可以将应用程序1将历史输入事件处理为图像帧的时长(即5ms),确定为上述的第一时长,即第一时长为5ms。
在实际应用中,可以根据需要合理确定第一时长的取值,如果第一时长的取值较小,则有可能出现应用程序无法将输入事件处理为图像帧的情况,导致应用程序在下一个应用程序垂直同步到达时,继续将该输入事件处理为图像帧,从而造成在下一个应用程序垂直同步出现图像帧队列拥塞。如果第一时长的取值较大,则有可能出现应用程序将输入事件处理为图像帧后,继续等待图像帧合成垂直同步的到达,从而出现未达到优化极限的情况。
具体地,通过上述对应用程序将输入事件处理为图像帧的第一时长的预测,可以动态调整应用程序垂直同步,来达到在图像帧合成垂直同步之前的第一时长(记作Tapp)的时刻,触发应用程序将输入事件处理为图像帧。同时,通过上述对图像帧合成器将图像帧合成图像的第二时长的预测,可以动态调整图像帧合成垂直同步,来达到在屏幕垂直同步之前的第二时长(记作Tout)的时刻,触发图像帧合成器将图像帧合成图像。
其中,图5给出了在确定的应用程序垂直同步与确定出的图像帧合成垂直同步,对输入事件进行响应的过程示意图。在图5中,应用程序在应用程序垂直同步到达时,经过Tapp将输入事件处理为图像帧,图像帧合成器在图像帧合成垂直同步到达时,经过Tout将图像帧合成为图像处理为图像,屏幕在屏幕垂直同步到达时显示图像帧合成器合成的图像。
在一种可能的实现方式中,在至少一个应用程序将输入事件分别处理为相应的图像帧之后,可以将至少一个应用程序各自对应的图像帧保存至各自对应的图像帧队列。其中,将至少一个图像帧合成为一幅图像时,可以将至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像。
具体地,图像帧队列是应用程序和图像帧合成器之间的图像帧传递缓冲区,应用程序和图像帧合成器之间是生产者和消费者的关系。其中,在图像帧队列畅通的情况下,终端设备获取到输入事件后,对该输入事件的响应过程可以描述为:首先,将该输入事件发送给与该输入事件关联的至少一个应用程序(比如应用程序1、应用程序2及应用程序3),该至少一个应用程序在应用程序垂直同步到达时,开始对输入事件进行图像帧处理,即将输入事件处理为相应的图像帧,比如应用程序1对输入事件进行处理,得到图像帧1,并将该图像帧1保存至应用程序1对应的图像帧队列1,应用程序2对输入事件进行处理,得到图像帧2,并将该图像帧2保存至应用程序2对应的图像帧队列2,应用程序3对输入事件进行处理,得到图像帧3,并将该图像帧3保存至应用程序3对应的图像帧队列3。接着,图像帧合成器在图像帧垂直同步到达时,将图像帧队列1中的图像帧1、图像帧队列2中的图像帧2及图像帧队列3中的图像帧3,合成为一幅图像。接着,屏幕在屏幕垂直同步到达时,对图像帧合成器合成的一幅图像进行显示。其中,该输入事件的响应过程如图6所示。
具体地,当图像帧合成器这一个消费者,由于系统运算力不足、调度不及时及图像帧合成垂直同步动态预测失误等原因,导致图像帧合成器在图像帧合成垂直同步到达时,不能消费掉当前应用程序生成的两个、三个等多个图像帧,造成应用程序的图像帧队列拥塞时,由于图像帧队列的先进先出原则,导致图像帧合成器只能合成旧图像帧,从而产生持续性的延迟问题。
通常,对于画面变化较快的场景,要求较高的用户最多能容忍每秒出现1次卡顿,即每秒发生一次丢包动作。基于此,可以在不影响用户体验的情况下,基于预定的图像帧处理策略,将图像帧队列中的两个、三个等多个图像帧处理为包括一个图像帧,即当图像帧队列中包括至少两个图像帧时,基于预定的图像帧处理策略,将图像帧队列处理为包括一个图像帧。换言之,对应用程序的图像帧队列中的旧图像帧进行策略性丢弃,以解决拥塞延迟问题。在实际应用中,可以通过“图像帧队列拥塞控制”单元对应用程序的图像帧队列中的旧图像帧进行策略性丢弃。
具体地,在基于预定的图像帧处理策略,将图像帧队列处理为包括一个图像帧后,在将至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像的过程中,可以将至少一个应用程序各自对应的图像帧队列中的一个图像帧合成为一幅图像。
具体地,基于预定的图像帧处理策略,将图像帧队列中的两个、三个等多个图像帧处理为包括一个图像帧的过程中,可以根据至少两个图像帧的生成时间的先后排列顺序,将排列在最后的图像帧确定为图像帧队列中的图像帧,并丢弃其它的图像帧。换言之,当图像帧队列中包括至少两个图像帧时,可以将该图像帧队列中的至少两个图像帧清空为剩下最新生成的一个图像帧的状态,以消除延迟,让图像帧队列畅通起来,达到延迟的优化。
在一个示例中,假如图像帧队列1中包括两个图像帧,分别为图像帧A1和图像帧A2,且图像帧A1的合成时间先于图像帧A2的合成时间,即在先进先出的图像帧队列中,图像帧A1排列在图像帧A2的前面,即图像帧A1为旧图像帧,图像帧A2为新图像帧,此时,可以丢弃图像帧A1,而保留图像帧A2,即将排列最后的图像帧A2确定为图像帧队列1中的图像帧。
其中,图7给出了图像帧队列畅通情况下的输入事件的响应过程、图像帧队列拥塞情况下的输入事件的响应过程,以及针对图像帧队列拥塞进行策略性丢弃后的输入事件的响应过程。在图7的图像帧队列拥塞情况下的图示中,根据图像帧队列的先进先出原则,图像帧合成器只能合成旧图像帧,从而产生持续性的延迟问题。在图7的针对图像帧队列拥塞进行策略性丢弃后的图示中,通过将图像帧队列中的图像帧清空为最新生成的图像帧,来消除延迟,使得图像帧队列重新畅通起来,从而优化延迟。
在一种可能的实现方式中,还可以根据触发输入事件的触控操作在屏幕的当前触控位置,预测下一触控位置;以及确定下一触控位置对应的输入事件,并对输入事件进行响应。
其中,根据触发输入事件的触控操作在屏幕的当前触控位置,预测下一触控位置的过程中,可以先确定当前触控位置的位置信息、触控操作在当前触控位置的移动速度及触控操作在当前触控位置的移动加速度;再基于第一预定计算公式,根据位置信息、移动速度、移动加速度以及确定出的当前触控位置的预测时间,预测下一触控位置,当前触控位置的预测时间是基于第二预定计算公式,根据触控操作在当前触控位置的前一触控位置的预测时间、触控操作在当前触控位置的移动速度、触控操作在当前触控位置的前一触控位置的移动速度以及预设的最大预测时间确定出的。
具体地,针对终端设备的输入通常为触控输入,对于触控滑动的场景,用户的操作是有趋势的,根据物理位移方程,可以对触控滑动进行预测。其中,可以通过“输入预测单元”,根据触发输入事件的触控操作在屏幕的当前触控位置,预测下一触控位置。在预测出下一触控位置后,可以确定下一触控位置对应的输入事件,并对该输入事件进行响应,使得应用程序可以对将来时的输入事件进行逻辑运算和渲染,得到相应的图像帧,从而进一步优化延迟。
具体地,在根据触发输入事件的触控操作在屏幕的当前触控位置,预测下一触控位置的过程中,可以基于预定计算公式(即上述的第一预定计算公式),根据当前触控位置的位置信息、触控操作在当前触控位置的移动速度、触控操作在当前触控位置的移动加速度以及确定出的当前触控位置的预测时间,预测下一触控位置。
在一个示例中,第一预定计算公式可以为式(1)所示的形式:
Pt_predict=Pt_current+v_current*t_predict+a_current*t_predict*t_predic t*0.5(1)
其中,Pt_predict为预测的触控操作在屏幕的下一触控位置,Pt_current为触控操作在屏幕的当前触控位置,v_current为触控操作在当前触控位置的移动速度,a_current为触控操作在当前触控位置的移动加速度,t_predict为确定出的当前触控位置的预测时间。
具体地,当前触控位置的预测时间t_predict是基于第二预定计算公式,根据触控操作在当前触控位置的前一触控位置的预测时间、触控操作在当前触控位置的移动速度、触控操作在当前触控位置的前一触控位置的移动速度以及预设的最大预测时间确定出的。
在一个示例中,第二预定计算公式可以为式(2)所示的形式:
t_predict=F(t_predict_last,Tmax_predict,v_current,v_last)(2)
其中,t_predict_last为触控操作在当前触控位置的前一触控位置的预测时间,v_current为触控操作在当前触控位置的移动速度,v_last为触控操作在当前触控位置的前一触控位置的移动速度,Tmax_predict为预设的最大预测时间,F()为关于t_predict_last、v_current、v_last及Tmax_predict的函数。比如,当v_current小于或等于2pixel/ms(每毫秒2个像素)时,将t_predict的取值确定为0毫秒;又比如,当v_current大于2pixel/ms、且t_predict_last为0毫秒时,将t_predict的取值确定为1毫秒;再比如,当v_current大于2pixel/ms、且t_predict_last不是0毫秒时,可以根据t_predict=min(t_predict_last*v_current/v_last,Tmax_predict)这一表达式,确定t_predict的值,其中,上述表达式中的min()表示取最小值。
具体地,图8给出了预测的下一触控位置的示意图,在图8中,下一触控位置为根据当前触控位置及当前触控位置之前的3个历史触控位置确定出的。
具体地,经过上述的输入事件预测、应用程序垂直同步及图像帧合成垂直同步的优化处理后,终端设备对输入事件的响应过程可以如图9所示。在图9中,输入发生时,“输入预测”单元对输入事件进行预测推算,修改后重新封包,得到预测的输入事件,并将预测的输入事件发送给相关联的至少一个应用程序;与此同时,“垂直同步动态预测偏移”单元持续预测调整应用程序垂直同步和图像帧合成垂直同步,应用程序在应用程序垂直同步到达时开始对预测输入事件进行运算逻辑和渲染等相关工作,得到相应的图像帧,并将图像帧提交给图像帧队列管理,当图像帧队列发生拥塞时,“图像帧队列拥塞控制”单元就会进行策略性丢帧;当图像帧合成垂直同步到达时,图像帧合成器从图像帧队列中取出图像帧,对当前获取到的应用程序的图像帧进行合成,得到一幅图像,并在屏幕垂直同步到达时,屏幕显示图像帧合成器合成的一幅图像。
图10为本申请又一实施例提供的一种输入响应装置的结构示意图,如图10所示,该装置1000可以包括第一处理模块1001、合成模块1002与显示模块1003,其中:
第一处理模块1001,用于获取到输入事件时,确定输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过至少一个应用程序将输入事件分别处理为相应的图像帧,应用程序垂直同步是根据屏幕垂直同、第一时长和第二时长确定出的时刻,第一时长是预测出的应用程序将输入事件处理为图像帧的时长,第二时长是预测出的对图像帧进行合成的时长;
合成模块1002,用于在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,图像帧合成垂直同步是根据屏幕垂直同步与第二时长确定出的时刻;
显示模块1003,用于在屏幕垂直同步,通过屏幕显示一幅图像,以响应输入事件。
在一种可能的实现方式中,还包括图像帧合成垂直同步确定模块与应用程序垂直同步确定模块;
图像帧合成垂直同步确定模块,用于将图像帧合成垂直同步确定为位于屏幕垂直同步之前、且与屏幕垂直同步的间隔大于或等于第二时长的时刻;
应用程序垂直同步确定模块,用于将应用程序垂直同步确定为位于图像帧合成垂直同步之前、且与图像帧合成垂直同步的间隔大于或等于第一时长的时刻。
在一种可能的实现方式中,还包括第一时长预测模块与第二时长预测模块;
第一时长预测模块,用于确定各个应用程序将各自对应的历史输入事件,分别处理为相应的图像帧的各个时长,并将该各个时长中的最大时长确定为第一时长;或者,用于确定与输入事件关联度最高的应用程序,将历史输入事件处理为图像帧的时长,并将该时长确定为第一时长;
第二时长预测模块用于确定对历史图像帧进行合成的合成时长,并将合成时长确定为第二时长。
在一种可能的实现方式中,还包括保存模块;
保存模块,用于将至少一个应用程序各自对应的图像帧保存至各自对应的图像帧队列;
合成模块,用于将至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像。
在一种可能的实现方式中,还包括第二处理模块;
第二处理模块,用于当任一图像帧队列中包括至少两个图像帧时,基于预定的图像帧处理策略,将任一图像帧队列处理为包括一个图像帧;
合成模块在将至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像时,具体用于将至少一个应用程序各自对应的图像帧队列中的一个图像帧合成为一幅图像。
在一种可能的实现方式中,第二处理模块具体用于根据至少两个图像帧的生成时间的先后排列顺序,将排列在最后的图像帧确定为任一图像帧队列中的图像帧,并丢弃其它的图像帧。
在一种可能的实现方式中,该方法包括预测模块与确定模块;
预测模块,用于根据触发输入事件的触控操作在屏幕的当前触控位置,预测下一触控位置;
确定模块,用于确定下一触控位置对应的输入事件,并对输入事件进行响应。
在一种可能的实现方式中,预测模块具体用于:
确定当前触控位置的位置信息、触控操作在当前触控位置的移动速度及触控操作在当前触控位置的移动加速度;
基于第一预定计算公式,根据位置信息、移动速度、移动加速度以及确定出的当前触控位置的预测时间,预测下一触控位置,当前触控位置的预测时间是基于第二预定计算公式,根据触控操作在当前触控位置的前一触控位置的预测时间、触控操作在当前触控位置的移动速度、触控操作在当前触控位置的前一触控位置的移动速度以及预设的最大预测时间确定出的。
本申请实施例提供的装置,通过对应用程序垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,触发应用程序开始将输入事件处理为图像帧,实现应用程序的延迟触发,大大缩短应用程序的触发时刻(即应用程序垂直同步)到屏幕垂直同步之间的等待耗时,确保应用程序可以对距离应用程序垂直同步最近的时刻的输入事件进行处理;通过对图像帧合成垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,开始将图像帧合成一幅图像,实现了图像帧合成的延迟触发,大大缩短图像帧合成的触发时刻(即图像帧合成垂直同步)到屏幕垂直同步之间的等待耗时;通过上述对应用程序垂直同步和图像帧合成垂直同步进行优化,从整体上缩短对输入事件进行响应的时间,提高响应速度,有效避免出现操作滞后感及屏幕显示图像与当前操作存在较大差异的情况,极大提升用户体验。
需要说明的是,本实施例为与上述的方法项实施例相对应的装置项实施例,本实施例可与上述方法项实施例互相配合实施。上述方法项实施例中提到的相关技术细节在本实施例中依然有效,为了减少重复,这里不再赘述。相应地,本实施例中提到的相关技术细节也可应用在上述方法项实施例中。
本申请另一实施例提供了一种电子设备,如图11所示,图11所示的电子设备1100包括:处理器1101和存储器1103。其中,处理器1101和存储器1103相连,如通过总线1102相连。进一步地,电子设备1100还可以包括收发器1104。需要说明的是,实际应用中收发器1104不限于一个,该电子设备1100的结构并不构成对本申请实施例的限定。
其中,处理器1101应用于本申请实施例中,用于实现图10所示的第一处理模块、合成模块及显示模块的功能。
处理器1101可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器1101也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线1102可包括一通路,在上述组件之间传送信息。总线1102可以是PCI总线或EISA总线等。总线1102可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器1103可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器1103用于存储执行本申请方案的应用程序代码,并由处理器1101来控制执行。处理器1101用于执行存储器1103中存储的应用程序代码,以实现图10所示实施例提供的输入响应装置的动作。
本申请实施例提供的电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,可实现:获取到输入事件时,确定输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过至少一个应用程序将输入事件分别处理为相应的图像帧,应用程序垂直同步是根据屏幕垂直同步、第一时长和第二时长确定出的时刻,第一时长是预测出的应用程序将输入事件处理为图像帧的时长,第二时长是预测出的对图像帧进行合成的时长;接着,在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,图像帧合成垂直同步是根据屏幕垂直同步与第二时长确定出的时刻;接着,在屏幕垂直同步,通过屏幕显示一幅图像,以响应输入事件。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述实施例所示的方法。其中,通过对应用程序垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,触发应用程序开始将输入事件处理为图像帧,实现应用程序的延迟触发,大大缩短应用程序的触发时刻(即应用程序垂直同步)到屏幕垂直同步之间的等待耗时,确保应用程序可以对距离应用程序垂直同步最近的时刻的输入事件进行处理;通过对图像帧合成垂直同步进行优化,使得在距离屏幕垂直同步尽可能短的时刻,开始将图像帧合成一幅图像,实现了图像帧合成的延迟触发,大大缩短图像帧合成的触发时刻(即图像帧合成垂直同步)到屏幕垂直同步之间的等待耗时;通过上述对应用程序垂直同步和图像帧合成垂直同步进行优化,从整体上缩短对输入事件进行响应的时间,提高响应速度,有效避免出现操作滞后感及屏幕显示图像与当前操作存在较大差异的情况,极大提升用户体验。
本申请实施例提供的计算机可读存储介质适用于上述方法的任一实施例。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (11)
1.一种输入响应方法,其特征在于,包括:
获取到输入事件时,确定所述输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过所述至少一个应用程序将所述输入事件分别处理为相应的图像帧,所述应用程序垂直同步是根据屏幕垂直同步、第一时长和第二时长确定出的时刻,所述第一时长是预测出的应用程序将输入事件处理为图像帧的时长,所述第二时长是预测出的对图像帧进行合成的时长;
在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,所述图像帧合成垂直同步是根据屏幕垂直同步与所述第二时长确定出的时刻;
在屏幕垂直同步,通过所述屏幕显示所述一幅图像,以响应所述输入事件。
2.根据权利要求1所述的方法,其特征在于,根据屏幕垂直同步与所述第二时长,确定图像帧合成垂直同步,包括:
将所述图像帧合成垂直同步确定为位于所述屏幕垂直同步之前、且与所述屏幕垂直同步的间隔大于或等于所述第二时长的时刻;
根据屏幕垂直同步、预测出的应用程序将输入事件处理为图像帧的第一时长以及预测出的对图像帧进行合成的第二时长,确定应用程序垂直同步,包括:
将所述应用程序垂直同步确定为位于所述图像帧合成垂直同步之前、且与所述图像帧合成垂直同步的间隔大于或等于所述第一时长的时刻。
3.根据权利要求1所述的方法,其特征在于,预测应用程序将输入事件处理为图像帧的第一时长,包括:
确定各个应用程序将各自对应的历史输入事件,分别处理为相应的图像帧的各个时长,并将该各个时长中的最大时长确定为所述第一时长;或者,
确定与所述输入事件关联度最高的应用程序,将历史输入事件处理为图像帧的时长,并将该时长确定为所述第一时长;
预测对图像帧进行合成的第二时长,包括:
确定对历史图像帧进行合成的合成时长,并将所述合成时长确定为所述第二时长。
4.根据权利要求1所述的方法,其特征在于,在所述至少一个应用程序将所述输入事件分别处理为相应的图像帧之后,还包括:
将所述至少一个应用程序各自对应的图像帧保存至各自对应的图像帧队列;
所述将至少一个图像帧合成为一幅图像,包括:
将所述至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像。
5.根据权利要求4所述的方法,其特征在于,在所述将所述至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像之前,还包括:
当任一图像帧队列中包括至少两个图像帧时,基于预定的图像帧处理策略,将所述任一图像帧队列处理为包括一个图像帧;
所述将所述至少一个应用程序各自对应的图像帧队列中的图像帧合成为一幅图像,包括:
将所述至少一个应用程序各自对应的图像帧队列中的一个图像帧合成为一幅图像。
6.根据权利要求5所述的方法,其特征在于,所述当任一图像帧队列中包括至少两个图像帧时,基于预定的图像帧处理策略,将所述任一图像帧队列处理为包括一个图像帧,包括:
根据所述至少两个图像帧的生成时间的先后排列顺序,将排列在最后的图像帧确定为所述任一图像帧队列中的图像帧,并丢弃其它的图像帧。
7.根据权利要求1所述的方法,其特征在于,该方法包括:
根据触发所述输入事件的触控操作在所述屏幕的当前触控位置,预测下一触控位置;
确定所述下一触控位置对应的输入事件,并对所述输入事件进行响应。
8.根据权利要求7所述的方法,其特征在于,所述根据触发所述输入事件的触控操作在所述屏幕的当前触控位置,预测下一触控位置,包括:
确定所述当前触控位置的位置信息、触控操作在当前触控位置的移动速度及触控操作在当前触控位置的移动加速度;
基于第一预定计算公式,根据所述位置信息、所述移动速度、所述移动加速度以及确定出的当前触控位置的预测时间,预测下一触控位置,当前触控位置的预测时间是基于第二预定计算公式,根据触控操作在当前触控位置的前一触控位置的预测时间、触控操作在当前触控位置的移动速度、触控操作在当前触控位置的前一触控位置的移动速度以及预设的最大预测时间确定出的。
9.一种输入响应装置,其特征在于,包括:
第一处理模块,用于获取到输入事件时,确定所述输入事件关联的至少一个应用程序,并在确定出的应用程序垂直同步,通过所述至少一个应用程序将所述输入事件分别处理为相应的图像帧,所述应用程序垂直同步是根据屏幕垂直同步、第一时长和第二时长确定出的时刻,所述第一时长是预测出的应用程序将输入事件处理为图像帧的时长,所述第二时长是预测出的对图像帧进行合成的时长;
合成模块,用于在确定出的图像帧合成垂直同步,将至少一个图像帧合成为一幅图像,所述图像帧合成垂直同步是根据屏幕垂直同步与所述第二时长确定出的时刻;
显示模块,用于在屏幕垂直同步,通过所述屏幕显示所述一幅图像,以响应所述输入事件。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911350788.8A CN111124230B (zh) | 2019-12-24 | 2019-12-24 | 输入响应方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911350788.8A CN111124230B (zh) | 2019-12-24 | 2019-12-24 | 输入响应方法、装置、电子设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124230A true CN111124230A (zh) | 2020-05-08 |
CN111124230B CN111124230B (zh) | 2020-11-17 |
Family
ID=70502115
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911350788.8A Active CN111124230B (zh) | 2019-12-24 | 2019-12-24 | 输入响应方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111124230B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111984181A (zh) * | 2020-09-09 | 2020-11-24 | Oppo(重庆)智能科技有限公司 | 一种画面刷新方法、装置、终端设备及存储介质 |
CN112527144A (zh) * | 2020-11-30 | 2021-03-19 | 厦门天马微电子有限公司 | 一种触控显示装置的驱动方法和触控显示装置 |
WO2021232328A1 (en) * | 2020-05-21 | 2021-11-25 | Qualcomm Incorporated | Methods and apparatus for tickless pre-rendering |
CN114579076A (zh) * | 2022-01-30 | 2022-06-03 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN115097994A (zh) * | 2021-10-30 | 2022-09-23 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN115904184A (zh) * | 2021-09-30 | 2023-04-04 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN116069187A (zh) * | 2023-01-28 | 2023-05-05 | 荣耀终端有限公司 | 一种显示方法及电子设备 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150213787A1 (en) * | 2014-01-29 | 2015-07-30 | Samsung Electronics Co., Ltd. | Display controller and display system including the same |
CN107533450A (zh) * | 2016-03-08 | 2018-01-02 | 华为技术有限公司 | 一种显示方法及终端设备 |
CN107786748A (zh) * | 2017-10-31 | 2018-03-09 | 广东欧珀移动通信有限公司 | 图像显示方法及设备 |
CN109891875A (zh) * | 2016-11-08 | 2019-06-14 | 索尼公司 | 图像传送设备、图像传送方法、程序和运动图像生成系统 |
US20190206367A1 (en) * | 2016-08-23 | 2019-07-04 | Samsung Electronics Co., Ltd. | Electronic device, and method for controlling operation of electronic device |
CN109992232A (zh) * | 2019-04-09 | 2019-07-09 | Oppo广东移动通信有限公司 | 图像更新方法、装置、终端及存储介质 |
CN110018874A (zh) * | 2019-04-09 | 2019-07-16 | Oppo广东移动通信有限公司 | 垂直同步方法、装置、终端及存储介质 |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
CN110609645A (zh) * | 2019-06-25 | 2019-12-24 | 华为技术有限公司 | 一种基于垂直同步信号的控制方法及电子设备 |
-
2019
- 2019-12-24 CN CN201911350788.8A patent/CN111124230B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150213787A1 (en) * | 2014-01-29 | 2015-07-30 | Samsung Electronics Co., Ltd. | Display controller and display system including the same |
CN107533450A (zh) * | 2016-03-08 | 2018-01-02 | 华为技术有限公司 | 一种显示方法及终端设备 |
US20190206367A1 (en) * | 2016-08-23 | 2019-07-04 | Samsung Electronics Co., Ltd. | Electronic device, and method for controlling operation of electronic device |
CN109891875A (zh) * | 2016-11-08 | 2019-06-14 | 索尼公司 | 图像传送设备、图像传送方法、程序和运动图像生成系统 |
CN107786748A (zh) * | 2017-10-31 | 2018-03-09 | 广东欧珀移动通信有限公司 | 图像显示方法及设备 |
CN109992232A (zh) * | 2019-04-09 | 2019-07-09 | Oppo广东移动通信有限公司 | 图像更新方法、装置、终端及存储介质 |
CN110018874A (zh) * | 2019-04-09 | 2019-07-16 | Oppo广东移动通信有限公司 | 垂直同步方法、装置、终端及存储介质 |
CN110609645A (zh) * | 2019-06-25 | 2019-12-24 | 华为技术有限公司 | 一种基于垂直同步信号的控制方法及电子设备 |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
Non-Patent Citations (1)
Title |
---|
孙超: "退化图象的超分辨率复原技术研究", 《中国优秀硕士学位论文全文数据库 信息科技辑》 * |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021232328A1 (en) * | 2020-05-21 | 2021-11-25 | Qualcomm Incorporated | Methods and apparatus for tickless pre-rendering |
CN111984181A (zh) * | 2020-09-09 | 2020-11-24 | Oppo(重庆)智能科技有限公司 | 一种画面刷新方法、装置、终端设备及存储介质 |
CN112527144A (zh) * | 2020-11-30 | 2021-03-19 | 厦门天马微电子有限公司 | 一种触控显示装置的驱动方法和触控显示装置 |
CN112527144B (zh) * | 2020-11-30 | 2024-01-23 | 厦门天马微电子有限公司 | 一种触控显示装置的驱动方法和触控显示装置 |
CN115904184B (zh) * | 2021-09-30 | 2024-03-19 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN115904184A (zh) * | 2021-09-30 | 2023-04-04 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN115097994B (zh) * | 2021-10-30 | 2023-05-09 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN115097994A (zh) * | 2021-10-30 | 2022-09-23 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN114579076B (zh) * | 2022-01-30 | 2023-04-11 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN114579076A (zh) * | 2022-01-30 | 2022-06-03 | 荣耀终端有限公司 | 数据处理方法和相关装置 |
CN116069187B (zh) * | 2023-01-28 | 2023-09-01 | 荣耀终端有限公司 | 一种显示方法及电子设备 |
CN117215426A (zh) * | 2023-01-28 | 2023-12-12 | 荣耀终端有限公司 | 一种显示方法及电子设备 |
CN116069187A (zh) * | 2023-01-28 | 2023-05-05 | 荣耀终端有限公司 | 一种显示方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111124230B (zh) | 2020-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124230B (zh) | 输入响应方法、装置、电子设备及计算机可读存储介质 | |
US20200213378A1 (en) | Streaming application environment with remote device input synchronization | |
EP2518631A1 (en) | Picture loading method and terminal | |
JP5920006B2 (ja) | 画面更新制御プログラム、画面更新制御方法、および情報処理装置 | |
KR102628899B1 (ko) | 다중-헤드 마운트 디스플레이 가상 현실 구성에서의 디스플레이 맞추기 | |
US20140267069A1 (en) | Systems and Methods For Syncing Haptic Feedback Calls | |
CN1816844A (zh) | 图像帧更新的同步 | |
JPWO2008105092A1 (ja) | グラフィックス描画装置及びグラフィックス描画方法 | |
CN109242944B (zh) | 一种显示方法和装置 | |
US20220308747A1 (en) | Streaming application environment with recovery of lost or delayed input events | |
EP3391190B1 (en) | Pipelining pre-composition data | |
CN115097994B (zh) | 数据处理方法和相关装置 | |
KR20190073350A (ko) | 데스크탑 환경에서 애플리케이션 렌더링에서 온 스크린까지 시간을 동적으로 감소시키기 위한 방법 장치 | |
CN108509241B (zh) | 一种图像的全屏显示方法、全屏显示装置及移动终端 | |
CN111951206A (zh) | 图像合成方法、图像合成装置及终端设备 | |
JP2008289030A (ja) | 画面描画転送システム | |
CN112862659A (zh) | 借助于合成器生成一系列帧方法和装置 | |
CN113986107A (zh) | 基于图形显示系统的触控处理方法及装置、电子设备、存储介质 | |
EP3951766A1 (en) | Image display control device, transmission device, image display control method, and program | |
CN111632382B (zh) | 游戏数据同步方法、装置、计算机及可读存储介质 | |
CN114626974A (zh) | 图像处理方法、装置、计算机设备及存储介质 | |
CN101883281B (zh) | 一种远程显示系统的静态图像编码方法及系统 | |
EP3522530A1 (en) | System performance improvement method, system performance improvement device and display device | |
CN112950450A (zh) | 图像处理方法、装置、电子设备和可读存储介质 | |
JP7448707B1 (ja) | プログラム、クライアント端末、ゲームシステム、及び処理方法 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |