CN113986107A - 基于图形显示***的触控处理方法及装置、电子设备、存储介质 - Google Patents
基于图形显示***的触控处理方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN113986107A CN113986107A CN202111231103.5A CN202111231103A CN113986107A CN 113986107 A CN113986107 A CN 113986107A CN 202111231103 A CN202111231103 A CN 202111231103A CN 113986107 A CN113986107 A CN 113986107A
- Authority
- CN
- China
- Prior art keywords
- touch
- time
- event
- offset
- information
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 238000000034 method Methods 0.000 claims abstract description 39
- 238000009877 rendering Methods 0.000 claims abstract description 16
- 238000001514 detection method Methods 0.000 claims abstract description 14
- 230000001360 synchronised effect Effects 0.000 claims abstract description 6
- 238000005070 sampling Methods 0.000 claims description 47
- 238000012545 processing Methods 0.000 claims description 21
- 230000008569 process Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000009499 grossing Methods 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000013404 process transfer Methods 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/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
-
- 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/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
- G06F3/0416—Control or interface arrangements specially adapted for digitisers
- G06F3/0418—Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请是关于一种基于图形显示***的触控处理方法及装置、电子设备、存储介质。所述方法包括:响应于检测到触控操作,生成触控事件,将所述触控事件向当前UI窗口的线程发送;触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求;检测到同步事件后,响应所述更新窗口请求,获取所述触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息;将所述平滑触控点的信息向目标布局控件发送,触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域;触发渲染线程对所述脏区域进行渲染,更新界面图形。本申请避免了图形界面的抖动和跳帧现象,为用户提供更佳的使用体验。
Description
技术领域
本申请实施例涉及界面图形更新技术,尤其涉及一种基于图形显示***的触控处理方法及装置、电子设备、存储介质。
背景技术
在一些操作***中,图形显示***的渲染帧率与触控报点的频率并不一致。以Linux操作***为例,图形显示***的渲染帧率通常为16ms/60hz。而为电子设备设置的触控(Touch)设备的报点频率通常为10ms/90hz。因此,Touch报点事件经过input***同步到显示***时,最终刷新显示到屏幕上普遍会出现延迟,并且,由于渲染帧率与触控报点之间的频率不一致,会经常导致图形界面的抖动和跳帧现象。具体地,UI进程在接收到Touch事件之前经历多次跨线进程传递,受线程、进程调度影响,事件接收时间会有较大波动,易产生抖动。在一帧时间内,UI进程可能接收到多个Touch事件,仅处理最新的报点更新到UI,这样会造成丢点而引发跳帧现象。这对于用户而言,使用体验效果非常差。
发明内容
有鉴于此,本申请实施例提供一种基于图形显示***的触控处理方法及装置、电子设备、存储介质,以至少解决现有技术中存在的以上技术问题。
根据本申请实施例的第一方面,提供一种基于图形显示***的触控处理方法,包括:
响应于检测到触控操作,生成触控事件,将所述触控事件向当前用户界面(UI,User Interface)窗口的线程发送;
触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求;
检测到同步事件后,响应所述更新窗口请求,获取所述缓存触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息;
将所述平滑触控点的信息向目标布局控件发送,触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域;
触发渲染线程对所述脏区域进行渲染,更新界面图形。
在一个实施例中,所述基于所述触控点的信息确定平滑触控点的信息,包括:
在所述当前UI窗口的线程缓存的所述触控事件中,查找距采样时间最近的设定数量的触控点,基于所查找到的触控点的时间信息,以及所述采样时间,确定所述平滑触控点的时间以及位置信息。
在一个实施例中,所述设定数量为两个;
所述确定所述平滑触控点的时间以及位置信息,包括:
确定所述采样时间位于两个所述触控点的时间之间时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及所述采样时间与所述第二触控点的时间之间的第二偏移量,基于所述第一偏移量和所述第二偏移量确定第一权重;基于所述第二触控点的时间、所述第一权重及所述第一偏移量计算所述平滑触控点的时间以及位置信息。
在一个实施例中,所述设定数量为两个;
所述确定所述平滑触控点的时间以及位置信息,包括:
确定所述采样时间位于两个所述触控点的时间之外时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及第一触控点的时间与所述采样时间之间的第三偏移量,基于所述第一偏移量和所述第三偏移量确定第二权重;基于所述第一触控点的时间、所述第二权重及所述第一偏移量的相反数计算所述平滑触控点的时间以及位置信息。
在一个实施例中,所述方法还包括:
为所述触控事件设置调度策略;其中,所述调度策略包括:为所述触控事件设置调度优先级,所述触控事件的调度优先级高于其他线程或进程的调度优先级;在对所述触控事件进行调度时,以优先级调度方式替代时间片轮询调度方式。
在一个实施例中,所述方法还包括:
检测到所述触控事件对应的应用或UI窗口切换至后台时,调低所述触控事件的优先级;或
检测到低优先级的所述触控事件对应的应用或UI窗口由后台切换至前台时,恢复所述触控事件的优先级。
根据本申请实施例的第二方面,提供一种基于图形显示***的触控处理装置,包括:
第一检测单元,用于检测触控操作;
生成单元,用于响应于检测到触控操作,生成触控事件;
第一传输单元,用于将所述触控事件向当前UI窗口的线程发送;
第一触发单元,用于触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求;
第二检测单元,用于检测同步事件;
确定单元,用于响应所述更新窗口请求,获取所述触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息;
第二传输单元,用于将所述平滑触控点的信息向目标布局控件发送;
第二触发单元,用于触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域;
第三触发单元,用于触发渲染线程对所述脏区域进行渲染,更新界面图形。
在一个实施例中,所述确定单元,还用于:
在所述当前UI窗口的线程缓存的所述触控事件中,查找距采样时间最近的设定数量的触控点,基于所查找到的触控点的时间信息,以及所述采样时间,确定所述平滑触控点的时间以及位置信息。
在一个实施例中,所述设定数量为两个;
所述确定单元,还用于:
确定所述采样时间位于两个所述触控点的时间之间时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及所述采样时间与所述第二触控点的时间之间的第二偏移量,基于所述第一偏移量和所述第二偏移量确定第一权重;基于所述第二触控点的时间、所述第一权重及所述第一偏移量计算所述平滑触控点的时间以及位置信息。
在一个实施例中,所述设定数量为两个;
所述确定单元,还用于:
确定所述采样时间位于两个所述触控点的时间之外时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及第一触控点的时间与所述采样时间之间的第三偏移量,基于所述第一偏移量和所述第三偏移量确定第二权重;基于所述第一触控点的时间、所述第二权重及所述第一偏移量的相反数计算所述平滑触控点的时间以及位置信息。
在一个实施例中,所述装置还包括:
设置单元,用于为所述触控事件设置调度策略;其中,所述调度策略包括:为所述触控事件设置调度优先级,所述触控事件的调度优先级高于其他线程或进程的调度优先级;在对所述触控事件进行调度时,以优先级调度方式替代时间片轮询调度方式。
在一个实施例中,所述装置还包括:
第二检测单元,用于检测到所述触控事件对应的应用或窗口切换至后台时,调低所述触控事件的优先级;或
用于检测到低优先级的所述触控事件对应的应用或窗口由后台切换至前台时,恢复所述触控事件的优先级。
根据本申请实施例的第三方面,提供一种电子设备,包括处理器、存储器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行所述的基于图形显示***的触控处理方法的步骤。
根据本申请实施例的第四方面,提供一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现所述的基于图形显示***的触控处理方法的步骤。
本申请实施例中,当检测到触控操作后,根据当前的UI窗口及相应的界面展示情况,针对当前的显示界面生成相应的触控事件,并将所生成的触控事件向相应的UI窗口的线程发送;本申请实施例并不立即对触控事件进行响应,而是将触控事件进行缓存,并在图形更新同步事件到来后,基于缓存的触控事件中的触控点来确定平滑触控点,基于平滑触控点确定待更新的脏区域,触发渲染线程对所述脏区域进行渲染,更新界面图形。本申请实施例通过对多个触控点进行主动平滑处理,针对高频率的报点事件,可以非常平滑地更新到显示界面的更新中,避免了图形界面的抖动和跳帧现象,为用户提供更佳的使用体验。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍。显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的基于图形显示***的触控处理方法的流程示意图;
图2为本申请实施例的Vsync更新周期及Touch事件上报周期对比示意图;
图3为本申请实施例的图形界面更新周期示意图;
图4为本申请实施例的基于图形显示***的触控处理装置的组成结构示意图;
图5为本申请实施例的电子设备的结构图。
具体实施方式
以下结合附图,详细阐明本申请实施例技术方案的实质。
图1为本申请实施例的基于图形显示***的触控处理方法的流程示意图,如图1所示,本申请实施例的基于图形显示***的触控处理方法包括以下处理步骤:
步骤101,响应于检测到触控操作,生成触控事件,将所述触控事件向当前UI窗口的线程发送。
本申请实施例中,当用户对电子设备的触控屏进行触控操作(Touch)时,触控设备检测该触控操作并生成触控事件。本申请实施例中,触控事件也可以称为Touch事件。
步骤102,触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求。
本申请实施例中,作为一种实现方式,Touch事件从内核驱动以10ms/90hz的频率上报给用户态接收线程。用户态接收线程在收到Touch事件后会将事件分发给***的窗口管理器。窗口管理器在接收到Touch事件后基于不同场景决策进行如下处理:拦截Touch事件执行全局手势动作;或将Touch事件分发给***UI,执行状态栏拖拽等动作;或将Touch事件分发给当前顶层窗口应用进程处理,如客户端的点击,滑动等常用操作。本申请实施例中,窗口管理器实现对UI窗口的线程的调度及管理,窗口管理器生成UI窗口的线程。
本申请实施例中,相关应用进程的UI窗口在主线程上接收到Touch事件后,将Touch事件缓存至缓存队列中,并请求更新窗口,缓冲队列与窗口一一对应。在Vsync同步事件到来,再响应窗口更新请求。
步骤103,检测到同步事件后,响应所述更新窗口请求,获取所述触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息。
本申请实施例中,同步事件即接收到针对图形界面的垂直同步信号Vsync,该Vsync用于垂直同步,其主要作用是防止界面图形的画面撕裂。当检测到Vsync时,再响应更新窗口请求。本申请实施例中,并不是直接利用缓存队列中的触控点的信息进行图形界面的更新,而是获取最近的两次触控操作对应的触控点,并确定响应的采样时间点,以此来确定平滑触控点,并以平滑触控点为准确定脏区域,实现对界面图形的更新渲染。
具体地,在所述当前UI窗口的线程缓存的所述触控事件中,查找距采样时间最近的设定数量的触控点,基于所查找到的触控点的时间信息,以及所述采样时间,确定所述平滑触控点的时间以及位置信息。这里的设定数量为2。图2为本申请实施例的Vsync更新周期及Touch事件上报周期对比示意图,如图2所示,由于Touch事件上报周期较短,例如为10ms,而Vsync更新周期较长,例如为16ms,这样,在同步事件到来时,很可能会接收到两个Touch事件,如在第32ms,就会接收到第20ms及30ms的两个Touch事件,针对这种情况,本申请实施例需要对其进行平滑处理,以更好地实现图像界面刷新的连续性,使图形界面刷新更平滑,不会出现抖动及跳帧现象。
具体地,当确定所述采样时间位于两个所述触控点的时间之间时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及所述采样时间与所述第二触控点的时间之间的第二偏移量,基于所述第一偏移量和所述第二偏移量确定第一权重;基于所述第二触控点的时间、所述第一权重及所述第一偏移量计算所述平滑触控点的时间以及位置信息。
具体计算方式如下:
TouchTimeDiff=LastTouch-FirstTouch
TouchSampleDiff=SampleTime-FirstTouch
Result=FirstTouch+(LastTouch-FirstTouch)×alpha
这里,SampleTime代表采样时刻,FirstTouch代表第二触控点的时间戳,LastTouch代表第一触控点的时间戳。Alpha表示第一权重,其意义在于较大的Alpha意味着平滑触控点的时间戳Result更倾向于第二触控点的时间戳,较小的Alpha意味着采样结果更倾向于第一触控点的时间戳。TouchTimeDiff表示第一偏移量,TouchSampleDiff表示第二偏移量;本申请实施例中,通过对两个以上的触控点处于同一Vsync更新周期内时的平滑处理,使基于Touch事件的图形界面更新更平稳。
作为一种实现方式,确定所述采样时间位于两个所述触控点的时间之外时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及第一触控点的时间与所述采样时间之间的第三偏移量,基于所述第一偏移量和所述第三偏移量确定第二权重;基于所述第一触控点的时间、所述第二权重及所述第一偏移量的相反数计算所述平滑触控点的时间信息。本申请实施例中,采样时间位于两个触控点的时间之外,即意味着采样时间晚于最后一个触控点的触控时间。
具体计算方式如下:
TouchTimeDiff=LastTouch-FirstTouch
TouchSampleDiff=LastTouch-SampleTime
Result=LastTouch+(FirstTouch-LastTouch)×alpha
这里,SampleTime代表采样时刻,FirstTouch代表第二触控点的时间戳,LastTouch代表第一触控点的时间戳。Alpha表示第二权重,其意义在于较大的Alpha意味着平滑触控点的时间戳Result更倾向于采样时刻,较小的Alpha意味着采样结果更倾向于第二触控点的时间戳。TouchTimeDiff表示第一偏移量,TouchSampleDiff表示第二偏移量;本申请实施例中,通过对两个以上的触控点处于同一Vsync更新周期内时的平滑处理,使基于Touch事件的图形界面更新更平稳。
本申请实施例中,采样时间选择为Vsync事件到来时刻前5ms,当然,也可以选用其他时刻,如也可以是Vsync事件到来时刻的前6ms、7ms、4ms等。
本申请实施例中,当缓存队列中仅有一个触控事件时,直接以缓存队列中触控事件对应的触控点进行图形控件的脏区域标记。
本申请实施例中,可以选用时间戳较晚的触控点位置作为平滑触控点的位置信息,这是因为,对于操作者而言,触控操作在毫秒级别下,可认为位置接近。作为一种实现方式,也可以选用时间戳较晚的触控点位置作为平滑触控点的位置信息。当然,也可以基于上述的确定所述平滑触控点的方式,以加权位置的方式确定平滑触控点的位置信息。
步骤104,将所述平滑触控点的信息向目标布局控件发送,触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域。
本申请实施例中,当确定平滑触控点的相关信息后,向目标布局控件如图形控件发送,使目标布局控件如图形控件基于该平滑触控点的时间信息确定待图形更新的脏区域。本申请实施例中,并非是根据实际的触控点对图形界面进行更新,而是当同步事件到来后,对所缓存的两个实际触控点进行平滑处理,使基于触控操作的图形界面的更新更均匀,不会出现跳帧和抖动现象,使图形界面更平稳,从而提升用户体验。
步骤105,触发渲染线程对所述脏区域进行渲染,更新界面图形。
本申请实施例中,当图形控件标记完脏区域后,向渲染线程发送渲染事件,同步更新脏区域渲染树,提交渲染结果,并展示更新后的图形界面。这样,本申请实施例可以完美地将高频率的报点事件平滑地更新到显示***中。
尽管没有明确描述的,本申请实施例所公开的触控处理方法可以适用于各类操作***,包括但不限于Linux、Windows、Android等。
在本申请的一个实施例中,所公开的方法应用于Linux操作***,即GNU/Linux,如Ubuntu、Debian、RedHat等。Linux操作***并不限定是运行在物理机上的,也可以是托管在其它操作***上的操作***,例如Windows***中的WSL2。
图3为本申请实施例的图形界面更新周期示意图,如图3所示,通过采样前后的Touch报点位置比较可以看出,通过本申请实施例的上述平滑采样处理,每10ms移动10像素的滑动行为,平滑后实现了16ms移动16像素的图形界面更新。图形界面更新帧间偏差为0,彻底消除了帧间抖动以及跳帧现象,大大提升了图形界面的显示质量,提升用户体验。
本申请实施例中,为了保证***能优先对触控事件进行响应,为触控事件设置更高的优先级,使触控事件能够优先被调度。具体地,为所述触控事件设置调度策略;其中,所述调度策略包括:为所述触控事件设置调度优先级,所述触控事件的调度优先级高于其他线程或进程的调度优先级;在对所述触控事件进行调度时,以优先级调度方式替代时间片轮询调度方式。
动态配置Touch接收进程的CPU调度策略,提升Touch事件在接收分发过程中的吞吐量,从而可以减少跨进程或跨线程引发的波动问题。具体地,可以直接访问Touch设备驱动的input***进程,通过配置FIO调度策略,使Touch的CPU运行优先级高于其他进程,使用线程优先级队列策略取代时间片轮询调度策略,当Touch接收线程可以一直处于优先级队列的头部,不会轻易被其他线程抢占CPU。
本申请实施例中,还支持触控事件的优先级调整。具体地,检测到所述触控事件对应的应用或UI窗口切换至后台时,调低所述触控事件的优先级;或者,检测到低优先级的所述触控事件对应的应用或UI窗口由后台切换至前台时,恢复所述触控事件的优先级。
本申请实施例中,可以根据不同的客户端应用进程的不同运行状态而动态改变主线程的CPU调度优先级。如当进程切换到前台开始响应UI操作时,则提升主线程的CPU调度优先级,当进程切换至后台,则降低主线程的CPU调度优先级,以让出CPU。
本申请实施例通过对多个触控点进行主动平滑处理,针对高频率的报点事件,可以非常平滑地更新到显示界面的更新中,避免了图形界面的抖动和跳帧现象,为用户提供更佳的使用体验。
图4为本申请实施例的基于图形显示***的触控处理装置的组成结构示意图,如图4所示,本申请实施例的基于图形显示***的触控处理装置包括:
第一检测单元40,用于检测触控操作;
生成单元41,用于响应于检测到触控操作,生成触控事件;
第一传输单元42,用于将所述触控事件向当前UI窗口的线程发送;
第一触发单元43,用于触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求;
第二检测单元44,用于检测同步事件;
确定单元45,用于响应所述更新窗口请求,获取所述触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息;
第二传输单元46,用于将所述平滑触控点的信息向目标布局控件发送;
第二触发单元47,用于触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域;
第三触发单元48,用于触发渲染线程对所述脏区域进行渲染,更新界面图形。
在一个实施例中,所述确定单元45,还用于:
在所述当前UI窗口的线程缓存的所述触控事件中,查找距采样时间最近的设定数量的触控点,基于所查找到的触控点的时间信息,以及所述采样时间,确定所述平滑触控点的时间以及位置信息。
在一个实施例中,所述设定数量为两个;
对应地,所述确定单元45,还用于:
确定所述采样时间位于两个所述触控点的时间之间时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及所述采样时间与所述第二触控点的时间之间的第二偏移量,基于所述第一偏移量和所述第二偏移量确定第一权重;基于所述第二触控点的时间、所述第一权重及所述第一偏移量计算所述平滑触控点的时间以及位置信息。
在一个实施例中,所述设定数量为两个;
对应地,所述确定单元45,还用于:
确定所述采样时间位于两个所述触控点的时间之外时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及第一触控点的时间与所述采样时间之间的第三偏移量,基于所述第一偏移量和所述第三偏移量确定第二权重;基于所述第一触控点的时间、所述第二权重及所述第一偏移量的相反数计算所述平滑触控点的时间以及位置信息。
在一个实施例中,在图4所示的基于图形显示***的触控处理装置的基础上,本申请实施例的基于图形显示***的触控处理装置还包括:
设置单元(图4中未示出),用于为所述触控事件设置调度策略;其中,所述调度策略包括:为所述触控事件设置调度优先级,所述触控事件的调度优先级高于其他线程或进程的调度优先级;在对所述触控事件进行调度时,以优先级调度方式替代时间片轮询调度方式。
在一个实施例中,在图4所示的基于图形显示***的触控处理装置的基础上,本申请实施例的基于图形显示***的触控处理装置还包括:
第二检测单元(图4中未示出),用于检测到所述触控事件对应的应用或窗口切换至后台时,调低所述触控事件的优先级;或
用于检测到低优先级的所述触控事件对应的应用或窗口由后台切换至前台时,恢复所述触控事件的优先级。
在示例性实施例中,第一检测单元40、生成单元41、第一传输单元42、第一触发单元43、第二检测单元44、确定单元45、第二传输单元46、第二触发单元47、第三触发单元48、设置单元和第二检测单元等可以被一个或多个中央处理器(CPU,Central ProcessingUnit)、应用专用集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(Digital Signal Processor,DSP)、可编程逻辑器件(PLD,Programmable LogicDevice)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)、通用处理器、控制器、微控制器(MCU,Micro Controller Unit)、微处理器(Microprocessor)、或其他电子元件实现,用于执行前述实施例的基于图形显示***的触控处理方法的步骤。
在本公开实施例中,图4示出的基于图形显示***的触控处理装置中各个单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
下面,参考图5来描述根据本申请实施例的电子设备11,所称的电子设备11的具体实现包括但不限于各种形态的计算机,如膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字助理、蜂窝电话、智能电话、平板电脑、可穿戴设备和其它类似的计算装置。
如图5所示,电子设备11包括一个或多个处理器111和存储器112。
处理器111可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备11中的其他组件以执行期望的功能。
存储器112可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器111可以运行所述程序指令,以实现上文所述的本申请的各个实施例的基于图形显示***的触控处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备11还可以包括:输入装置113和输出装置114,这些组件通过总线***和/或其他形式的连接机构(图5中未示出)互连。
该输入装置113可以包括例如键盘、鼠标等等。
该输出装置114可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置114可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图5中仅示出了该电子设备11中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备11还可以包括任何其他适当的组件。
本申请实施例还记载了一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行前述实施例的基于图形显示***的触控处理方法的步骤。
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、***的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、***。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。
Claims (14)
1.一种基于图形显示***的触控处理方法,其特征在于,所述方法包括:
响应于检测到触控操作,生成触控事件,将所述触控事件向当前UI窗口的线程发送;
触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求;
检测到同步事件后,响应所述更新窗口请求,获取所述触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息;
将所述平滑触控点的信息向目标布局控件发送,触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域;
触发渲染线程对所述脏区域进行渲染,更新界面图形。
2.根据权利要求1所述的方法,其特征在于,所述基于所述触控点的信息确定平滑触控点的信息,包括:
在所述当前UI窗口的线程缓存的所述触控事件中,查找距采样时间最近的设定数量的触控点,基于所查找到的触控点的时间信息,以及所述采样时间,确定所述平滑触控点的时间以及位置信息。
3.根据权利要求2所述的方法,其特征在于,所述设定数量为两个;
所述确定所述平滑触控点的时间以及位置信息,包括:
确定所述采样时间位于两个所述触控点的时间之间时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及所述采样时间与所述第二触控点的时间之间的第二偏移量,基于所述第一偏移量和所述第二偏移量确定第一权重;基于所述第二触控点的时间、所述第一权重及所述第一偏移量计算所述平滑触控点的时间以及位置信息。
4.根据权利要求2所述的方法,其特征在于,所述设定数量为两个;
所述确定所述平滑触控点的时间以及位置信息,包括:
确定所述采样时间位于两个所述触控点的时间之外时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及第一触控点的时间与所述采样时间之间的第三偏移量,基于所述第一偏移量和所述第三偏移量确定第二权重;基于所述第一触控点的时间、所述第二权重及所述第一偏移量的相反数计算所述平滑触控点的时间以及位置信息。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
为所述触控事件设置调度策略;
其中,所述调度策略包括:为所述触控事件设置调度优先级,所述触控事件的调度优先级高于其他线程或进程的调度优先级;在对所述触控事件进行调度时,以优先级调度方式替代时间片轮询调度方式。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
检测到所述触控事件对应的应用或UI窗口切换至后台时,调低所述触控事件的优先级;或
检测到低优先级的所述触控事件对应的应用或UI窗口由后台切换至前台时,恢复所述触控事件的优先级。
7.一种基于图形显示***的触控处理装置,其特征在于,所述装置包括:
第一检测单元,用于检测触控操作;
生成单元,用于响应于检测到触控操作,生成触控事件;
第一传输单元,用于将所述触控事件向当前UI窗口的线程发送;
第一触发单元,用于触发所述当前UI窗口的线程缓存所述触控事件,并生成更新窗口请求;
第二检测单元,用于检测同步事件;
确定单元,用于响应所述更新窗口请求,获取所述缓存触控事件中的触控点的信息,基于所述触控点的信息确定平滑触控点的信息;
第二传输单元,用于将所述平滑触控点的信息向目标布局控件发送;
第二触发单元,用于触发所述目标布局控件基于所述平滑触控点的信息确定待图形更新的脏区域;
第三触发单元,用于触发渲染线程对所述脏区域进行渲染,更新界面图形。
8.根据权利要求7所述的装置,其特征在于,所述确定单元,还用于:
在所述当前UI窗口的线程缓存的所述触控进程中,查找距采样时间最近的设定数量的触控点,基于所查找到的触控点的时间信息,以及所述采样时间,确定所述平滑触控点的时间以及位置信息。
9.根据权利要求8所述的装置,其特征在于,所述设定数量为两个;
所述确定单元,还用于:
确定所述采样时间位于两个所述触控点的时间之间时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及所述采样时间与所述第二触控点的时间之间的第二偏移量,基于所述第一偏移量和所述第二偏移量确定第一权重;基于所述第二触控点的时间、所述第一权重及所述第一偏移量计算所述平滑触控点的时间以及位置信息。
10.根据权利要求8所述的装置,其特征在于,所述设定数量为两个;
所述确定单元,还用于:
确定所述采样时间位于两个所述触控点的时间之外时,确定两个所述触控点中第一触控点的时间与第二触控点的时间之间的第一偏移量,以及第一触控点的时间与所述采样时间之间的第三偏移量,基于所述第一偏移量和所述第三偏移量确定第二权重;基于所述第一触控点的时间、所述第二权重及所述第一偏移量的相反数计算所述平滑触控点的时间以及位置信息。
11.根据权利要求7至10任一项所述的装置,其特征在于,所述装置还包括:
设置单元,用于为所述触控事件设置调度策略;其中,所述调度策略包括:为所述触控事件设置调度优先级,所述触控事件的调度优先级高于其他线程或进程的调度优先级;在对所述触控事件进行调度时,以优先级调度方式替代时间片轮询调度方式。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第二检测单元,用于检测到所述触控事件对应的应用或窗口切换至后台时,调低所述触控事件的优先级;或
用于检测到低优先级的所述触控事件对应的应用或窗口由后台切换至前台时,恢复所述触控事件的优先级。
13.一种电子设备,包括处理器、存储器及存储在存储器上并能够由所述处理器运行的可执行程序,所述处理器运行所述可执行程序时执行如权利要求1至6任一项所述的基于图形显示***的触控处理方法的步骤。
14.一种存储介质,其上存储由可执行程序,所述可执行程序被处理器执行时实现如求1至6任一项所述的基于图形显示***的触控处理方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111231103.5A CN113986107A (zh) | 2021-10-22 | 2021-10-22 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
PCT/CN2022/105311 WO2023065732A1 (zh) | 2021-10-22 | 2022-07-12 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111231103.5A CN113986107A (zh) | 2021-10-22 | 2021-10-22 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113986107A true CN113986107A (zh) | 2022-01-28 |
Family
ID=79740228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111231103.5A Pending CN113986107A (zh) | 2021-10-22 | 2021-10-22 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN113986107A (zh) |
WO (1) | WO2023065732A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115079924A (zh) * | 2022-06-29 | 2022-09-20 | 广东明创软件科技有限公司 | 屏幕显示方法、装置、终端、存储介质及产品 |
WO2023065732A1 (zh) * | 2021-10-22 | 2023-04-27 | 北京字节跳动网络技术有限公司 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729131A (zh) * | 2017-09-25 | 2018-02-23 | 努比亚技术有限公司 | 一种事件处理方法、终端及计算机可读存储介质 |
CN109375980A (zh) * | 2018-10-29 | 2019-02-22 | 四川长虹教育科技有限公司 | 基于Andriod***的触控绘图方法 |
CN111552567A (zh) * | 2020-04-27 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种线程管理方法、装置、电子设备及存储介质 |
CN111984181A (zh) * | 2020-09-09 | 2020-11-24 | Oppo(重庆)智能科技有限公司 | 一种画面刷新方法、装置、终端设备及存储介质 |
CN112306301A (zh) * | 2020-11-02 | 2021-02-02 | 北京小米移动软件有限公司 | 触控数据的处理方法、装置、设备及存储介质 |
CN112422873A (zh) * | 2020-11-30 | 2021-02-26 | Oppo(重庆)智能科技有限公司 | 插帧方法、装置、电子设备及存储介质 |
CN112817483A (zh) * | 2021-01-29 | 2021-05-18 | 网易(杭州)网络有限公司 | 多点触控的处理方法、装置、设备及存储介质 |
CN113190427A (zh) * | 2021-05-11 | 2021-07-30 | 北京字节跳动网络技术有限公司 | 卡顿监控方法、装置、电子设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104281308A (zh) * | 2013-07-11 | 2015-01-14 | 深圳富泰宏精密工业有限公司 | 触控式电子设备及其绘图方法 |
CN107273130B (zh) * | 2017-06-20 | 2020-08-04 | 深圳市万普拉斯科技有限公司 | 加速界面绘制的方法、装置和终端 |
US10983812B2 (en) * | 2018-11-19 | 2021-04-20 | International Business Machines Corporation | Replaying interactions with a graphical user interface (GUI) presented in a video stream of the GUI |
CN113986107A (zh) * | 2021-10-22 | 2022-01-28 | 北京鲸鲮信息***技术有限公司 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
-
2021
- 2021-10-22 CN CN202111231103.5A patent/CN113986107A/zh active Pending
-
2022
- 2022-07-12 WO PCT/CN2022/105311 patent/WO2023065732A1/zh unknown
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107729131A (zh) * | 2017-09-25 | 2018-02-23 | 努比亚技术有限公司 | 一种事件处理方法、终端及计算机可读存储介质 |
CN109375980A (zh) * | 2018-10-29 | 2019-02-22 | 四川长虹教育科技有限公司 | 基于Andriod***的触控绘图方法 |
CN111552567A (zh) * | 2020-04-27 | 2020-08-18 | 北京奇艺世纪科技有限公司 | 一种线程管理方法、装置、电子设备及存储介质 |
CN111984181A (zh) * | 2020-09-09 | 2020-11-24 | Oppo(重庆)智能科技有限公司 | 一种画面刷新方法、装置、终端设备及存储介质 |
CN112306301A (zh) * | 2020-11-02 | 2021-02-02 | 北京小米移动软件有限公司 | 触控数据的处理方法、装置、设备及存储介质 |
CN112422873A (zh) * | 2020-11-30 | 2021-02-26 | Oppo(重庆)智能科技有限公司 | 插帧方法、装置、电子设备及存储介质 |
CN112817483A (zh) * | 2021-01-29 | 2021-05-18 | 网易(杭州)网络有限公司 | 多点触控的处理方法、装置、设备及存储介质 |
CN113190427A (zh) * | 2021-05-11 | 2021-07-30 | 北京字节跳动网络技术有限公司 | 卡顿监控方法、装置、电子设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023065732A1 (zh) * | 2021-10-22 | 2023-04-27 | 北京字节跳动网络技术有限公司 | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 |
CN115079924A (zh) * | 2022-06-29 | 2022-09-20 | 广东明创软件科技有限公司 | 屏幕显示方法、装置、终端、存储介质及产品 |
Also Published As
Publication number | Publication date |
---|---|
WO2023065732A1 (zh) | 2023-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10705672B2 (en) | Method of navigating an extended computer desktop on multiple display devices | |
US9674265B2 (en) | Filtering unnecessary display updates for a networked client | |
US10762277B2 (en) | Optimization schemes for controlling user interfaces through gesture or touch | |
US11693673B2 (en) | Providing user interface (UI) elements having scrollable content in virtual machine sessions at reduced latency and related methods | |
WO2023065732A1 (zh) | 基于图形显示***的触控处理方法及装置、电子设备、存储介质 | |
EP3133481B1 (en) | Terminal device display method and terminal device | |
JP2012515961A (ja) | マルチタブアプリケーションにおけるメッセージ対話を実現する方法およびシステム | |
US11693672B2 (en) | Providing user interface (UI) elements in virtual machine sessions at reduced latency | |
US11693674B2 (en) | Providing user interface (UI) elements having an ordered hierarchy of graphical control elements in virtual machine sessions at reduced latency and related methods | |
US10466894B2 (en) | Method, device, storage medium and mobile terminal for recognizing an off-screen gesture | |
CN114341784A (zh) | 触摸事件的处理方法、装置、移动终端及存储介质 | |
CN112379963B (zh) | 远程应用窗口控制方法、装置及计算机设备 | |
CN114748873B (zh) | 界面渲染方法、装置、设备和存储介质 | |
US11249771B2 (en) | Terminal input invocation | |
CN103377228B (zh) | 一种用于浏览器的页面内容呈现方法及装置 | |
WO2023093076A1 (zh) | 抑制显示抖动的方法及装置、电子设备、存储介质 | |
CN108280113B (zh) | Service Worker控制方法、装置及电子终端 | |
JP2018063564A (ja) | 表示制御装置、表示制御方法、および、表示制御プログラム | |
CN114270298A (zh) | 触摸事件的处理方法、装置、移动终端及存储介质 | |
CN111367406B (zh) | 一种小程序窗口的下拉刷新方法、装置、设备和介质 | |
US20220019449A1 (en) | Dynamic remote display resource management | |
CN118051313A (zh) | 进程调度方法及装置、计算机可读存储介质、终端 | |
CN116360665A (zh) | 表格的滚动控制方法、装置、计算机设备及存储介质 | |
CN116661939A (zh) | 页面渲染方法、装置、存储介质及电子设备 | |
CN115700476A (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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220402 Address after: 100041 B-0035, 2 floor, 3 building, 30 Shixing street, Shijingshan District, Beijing. Applicant after: BEIJING BYTEDANCE NETWORK TECHNOLOGY Co.,Ltd. Address before: 2005, floor 2, No. 39, West Street, Haidian District, Beijing 100080 Applicant before: Beijing jingling Information System Technology Co.,Ltd. |