绘制方法、电子设备和可读存储介质技术

技术编号:36446679 阅读:19 留言:0更新日期:2023-01-25 22:41
本申请实施例提供了一种绘制方法、电子设备和可读存储介质,该方法包括:响应于检测到用户接触电子设备的屏幕,获取电子设备显示一帧画面之前执行各阶段的时长,各阶段包括:触控事件传输阶段、画面的绘制阶段、渲染阶段和图层合成阶段;检测各阶段中是否存在目标阶段,其中,执行目标阶段的时长大于目标阶段的时长阈值;若是,则执行减少时长的操作,以减少执行各阶段的时长。本申请实施例可以控制绘制过程在一定时间内,进而提高电子设备绘制稳定性。性。性。

【技术实现步骤摘要】
绘制方法、电子设备和可读存储介质


[0001]本申请实施例涉及计算机技术,尤其涉及一种绘制方法、电子设备和可读存储介质。

技术介绍

[0002]随着触控技术的发展,越来越多的电子设备采用触控方式进行人机交互,如用户可以通过触控笔操作电子设备的屏幕向电子设备提供输入,电子设备基于触控笔的输入执行相应的操作。
[0003]目前用户使用触控笔在电子设备的屏幕上绘制笔迹时,有时笔迹跟随触控笔的笔尖的位置显示,有时笔迹落后触控笔的笔尖的位置显示,笔迹显示不稳定,影响用户的绘制体验。

技术实现思路

[0004]本申请实施例提供一种绘制方法、电子设备和可读存储介质,可以提高电子设备的绘制稳定性。
[0005]第一方面,本申请实施例提供一种绘制方法,执行该方法的执行主体可以为电子设备或者电子设备中的芯片,下述实施例中以电子设备为例进行说明。该方法包括:响应于检测到用户接触电子设备的屏幕,获取所述电子设备显示一帧画面之前执行各阶段的时长,所述各阶段包括:触控事件传输阶段、所述画面的绘制阶段、渲染阶段和图层合成阶段。其中,用户接触电子设备的屏幕可以为用户使用手指、触控笔或用户的指关节等接触屏幕,本申请实施例对用户接触电子设备的屏幕的形式不做限制。
[0006]应理解的是,本申请实施例中以触控事件传输阶段、所述画面的绘制阶段、渲染阶段和图层合成阶段为例进行说明,本申请实施例对如何划分电子设备显示一帧画面之前的各阶段不做限制,即使用了本申请实施例中的技术构思和方法,均属于本申请的保护范围。
[0007]其中,电子设备可以检测所述各阶段中是否存在目标阶段。执行所述目标阶段的时长大于所述目标阶段的时长阈值,换句话说,电子设备可以检测执行各阶段的时长是否大于各自对阶段对应的时长阈值。每个阶段对应的时长阈值可以相同或不同。当存在目标阶段时,表征电子设备执行该目标阶段的时长较长,若按照该速度执行绘制画面,则会造成绘制不稳定的问题,影响用户体验。因此,本申请实施例中可以执行减少时长的操作,以减少执行所述各阶段的时长。可以想到的是,若不存在目标阶段,则电子设备可以不响应。
[0008]本申请实施例中,若检测到有目标阶段的时长大于对应的时长阈值,则执行减少时长的操作,以减少执行所述各阶段的时长,保证电子设备的绘制总时长处于一定时长内,使得电子设备可以稳定绘制画面,提高用户体验。
[0009]下述对电子设备显示一帧画面之前执行各阶段进行介绍:
[0010]其中,所述电子设备中包括触摸TP驱动和应用程序。所述触控事件传输阶段为:所述TP驱动检测到所述用户接触所述屏幕至所述应用程序接收到触控事件。
[0011]在一种可能的实现方式中,所述电子设备中还包括:输入事件读取模块、输入事件分发模块、以及窗口管理服务WMS。所述触控事件传输阶段包括:第一子阶段、第二子阶段、第三子阶段和第四子阶段。
[0012]其中,所述第一子阶段为:所述TP驱动检测到所述用户接触所述屏幕至所述TP驱动将所述触控事件写入触控事件存储队列;所述第二子阶段为:所述TP驱动将所述触控事件写入所述触控事件存储队列至所述输入事件读取模块从所述触控事件存储队列读取所述触控事件;所述第三子阶段为:所述输入事件读取模块从所述触控事件存储队列读取所述触控事件至所述输入事件分发模块向所述WMS发送所述触控事件;所述第四子阶段为:所述WMS开始向所述应用程序发送所述触控事件至所述WMS完成向所述应用程序所述触控事件。
[0013]在一种可能的实现方式中,所述电子设备还包括:触摸IC芯片,所述第一子阶段具体为:所述触摸IC芯片向所述TP驱动发送中断信号至所述TP驱动将所述触控事件写入所述触控事件存储队列,所述TP驱动接收所述中断信号表征:所述TP驱动检测到所述用户接触所述屏幕。
[0014]相应的,所述电子设备中还包括:跟手响应时延监控模块。在该实现方式中,因为触控事件传输阶段包括四个子阶段,因此电子设备获取执行所述触控事件传输阶段的时长可以包括:所述跟手响应时延监控模块分别获取执行所述第一子阶段的第一时长、执行所述第二子阶段的第二时长、执行所述第三子阶段的第三时长,以及执行所述第四子阶段第四时长。
[0015]在一种实施例中,本申请实施例中将触控事件传输阶段分为四个子阶段,在另一些实施例中,也可以将触控事件传输阶段分为不同于本申请的其他子阶段,如将第一子阶段和第二子阶段作为一个子阶段,将第三子阶段和第四子阶段作为一个子阶段。或者,将每个子阶段再拆分成更小的子阶段。本申请实施例中,以触控事件传输阶段分为四个子阶段为例进行介绍。
[0016]下述针对本申请实施例中获取第一子阶段、第二子阶段、第三子阶段、第四子阶段、绘制阶段、渲染阶段以及图层合成阶段中每个阶段的时长进行介绍:
[0017]其一:第一子阶段。
[0018]其中,所述TP驱动响应于接收到所述中断信号,记录第一时刻;所述TP驱动根据所述屏幕的容值数据,得到所述触控事件,且将所述触控事件写入所述触控事件存储队列,记录第二时刻;所述TP驱动向所述跟手响应时延监控模块发送所述第一时刻和所述第二时刻。如此,所述跟手响应时延监控模块根据所述第一时刻和所述第二时刻,获取所述第一时长,示例性的,跟手响应时延监控模块可以将所述第一时刻和所述第二时刻做差,得到该第一时长。
[0019]其二:第二子阶段。
[0020]其中,所述输入事件读取模块响应于从所述触控事件存储队列读取所述触控事件,记录第三时刻;所述输入事件读取模块向所述跟手响应时延监控模发送所述第三时刻。如此,所述跟手响应时延监控模块根据所述第二时刻和所述第三时刻,获取所述第二时长。示例性的,跟手响应时延监控模块可以将所述第二时刻和所述第三时刻做差,得到该第二时长。
[0021]其三:第三子阶段。
[0022]其中,所述输入事件分发模块响应于接收来自所述输入事件读取模块的所述触控事件,向所述WMS发送所述触控事件,且记录第四时刻;所述输入事件分发模块向所述跟手响应时延监控模块发送所述第四时。如此,所述跟手响应时延监控模块根据所述第三时刻和所述第四时刻,获取所述第三时长。示例性的,跟手响应时延监控模块可以将所述第三时刻和所述第四时刻做差,得到该第三时长。
[0023]其四:第四子阶段。
[0024]其中,所述WMS响应于接收来自所述输入事件分发模块的所述触控事件,向所述应用程序发送所述触控事件,且记录第五时刻;所述WMS响应于完成所述触控事件的发送,记录第六时刻;所述WMS向所述跟手响应时延监控模块发送所述第五时刻和所述第六时刻。如此,所述跟手响应时延监控模块根据所述第五时刻和所述第六时刻,获取所述第四时长。示例性的,跟手响应时延监控模块可以将所述第五时刻和所述第六时刻做差,得到该第四时长。
[0025]其五:绘制阶段。
[0026]在一种实施例中,所述电子设备中还包括绘制模块,所述向所述应用程序发送所述触控事件,包括:所述WMS向所述绘制模块发送所述触本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种绘制方法,其特征在于,包括:响应于检测到用户接触电子设备的屏幕,获取所述电子设备显示一帧画面之前执行各阶段的时长,所述各阶段包括:触控事件传输阶段、所述画面的绘制阶段、渲染阶段和图层合成阶段;检测所述各阶段中是否存在目标阶段,其中,执行所述目标阶段的时长大于所述目标阶段的时长阈值;若是,则执行减少时长的操作,以减少执行所述各阶段的时长。2.根据权利要求1所述的方法,其特征在于,所述电子设备中包括触摸TP驱动和应用程序;所述触控事件传输阶段为:所述TP驱动检测到所述用户接触所述屏幕至所述应用程序接收到触控事件。3.根据权利要求2所述的方法,其特征在于,所述电子设备中还包括:输入事件读取模块、输入事件分发模块、以及窗口管理服务WMS;所述触控事件传输阶段包括:第一子阶段、第二子阶段、第三子阶段和第四子阶段,所述第一子阶段为:所述TP驱动检测到所述用户接触所述屏幕至所述TP驱动将所述触控事件写入触控事件存储队列;所述第二子阶段为:所述TP驱动将所述触控事件写入所述触控事件存储队列至所述输入事件读取模块从所述触控事件存储队列读取所述触控事件;所述第三子阶段为:所述输入事件读取模块从所述触控事件存储队列读取所述触控事件至所述输入事件分发模块向所述WMS发送所述触控事件;所述第四子阶段为:所述WMS开始向所述应用程序发送所述触控事件至所述WMS完成向所述应用程序所述触控事件。4.根据权利要求3所述的方法,其特征在于,所述电子设备还包括:触摸IC芯片,所述第一子阶段具体为:所述触摸IC芯片向所述TP驱动发送中断信号至所述TP驱动将所述触控事件写入所述触控事件存储队列,所述TP驱动接收所述中断信号表征:所述TP驱动检测到所述用户接触所述屏幕。5.根据权利要求4所述的方法,其特征在于,所述电子设备中还包括:跟手响应时延监控模块;获取执行所述触控事件传输阶段的时长,包括:所述跟手响应时延监控模块分别获取执行所述第一子阶段的第一时长、执行所述第二子阶段的第二时长、执行所述第三子阶段的第三时长,以及执行所述第四子阶段第四时长。6.根据权利要求5所述的方法,其特征在于,所述跟手响应时延监控模块获取所述第一时长,包括:所述TP驱动响应于接收到所述中断信号,记录第一时刻;所述TP驱动根据所述屏幕的容值数据,得到所述触控事件,且将所述触控事件写入所述触控事件存储队列,记录第二时刻;所述TP驱动向所述跟手响应时延监控模块发送所述第一时刻和所述第二时刻;所述跟手响应时延监控模块根据所述第一时刻和所述第二时刻,获取所述第一时长。7.根据权利要求6所述的方法,其特征在于,所述跟手响应时延监控模块获取所述第二时长,包括:所述输入事件读取模块响应于从所述触控事件存储队列读取所述触控事件,记录第三时刻;
所述输入事件读取模块向所述跟手响应时延监控模发送所述第三时刻;所述跟手响应时延监控模块根据所述第二时刻和所述第三时刻,获取所述第二时长。8.根据权利要求7所述的方法,其特征在于,所述跟手响应时延监控模块获取所述第三时长,包括:所述输入事件分发模块响应于接收来自所述输入事件读取模块的所述触控事件,向所述WMS发送所述触控事件,且记录第四时刻;所述输入事件分发模块向所述跟手响应时延监控模块发送所述第四时刻;所述跟手响应时延监控模块根据所述第三时刻和所述第四时刻,获取所述第三时长。9.根据权利要求8所述的方法,其特征在于,所述跟手响应时延监控模块获取所述第四时长,包括:所述WMS响应于接收来自所述输入事件分发模块的所述触控事件,向所述应用程序发送所述触控事件,且记录第五时刻;所述WMS响应于完成所述触控事件的发送,记录第六时刻;所述WMS向所述跟手响应时延监控模块发送所述第五时刻和所述第六时刻;所述跟手响应时延监控模块根据所述第五时刻和所述第六时刻,获取所述第四时长。10.根据权利要求9所述的方法,其特征在于,所述电子设备中还包括绘制模块,所述向所述应用程序发送所述触控事件,包括:所述WMS向所述绘制模块发送所述触控事件。11.根据权利要求10所述的方法,其特征在于,所述触控事件中包括:触控类型和触控位置,所述触控类型指示接触所述屏幕的对象,所述触控位置表征接触屏幕的位置;获取执行所述绘制阶段的时长,包括:所述绘制模块响应于接收到所述触控事件,基于所述触控类型和触控位置,绘制窗口;所述绘制模块响应于完成窗口绘制,记录第七时刻;所述绘制模块向所述跟手响应时延监控模块发送所述第七时刻;所述跟手响应时延监控模块根据所述第六时刻和所述第七时刻,获取所述执行所述绘制阶段的时长。12.根据权利要求11所述的方法,其特征在于,所述电子设备中还包括渲染模块,获取执行所述渲染阶段的时长,包括:所述渲染模块渲染所述绘制模块完成绘制的窗口,且记录完成渲染的第八时刻;所述绘制模块向所述跟手响应时延监控模块发送所述第八时刻;所述跟手响应时延监控模块根据所述第七时刻和所述第八时刻,获取所述执行所述渲染阶段的时长。13.根据权利要求12所述的方法,其特征在于,所述电子设备中还包括图层合成模块,获取执行所述图层合成阶段的时长,包括:所述图层合成模块对所述渲染模块完成渲染的窗口进行图层合成,且记录开始进行图层合成的第九时刻,以及完成图层合成的第十时刻;所述图层合成模块向所述跟手响应时延监控模块发送所述第九时刻和所述第十时刻;所述跟手响应时延监控模块根据所述第九时刻和所述第十时刻,获取所述执行所述图层合成阶段的时长。
14.根据权利要求1

13中任一项所述的方法,其特征在于,所述执行减少时长的操作,包括:检测所述目标阶段之后是否存在待执行的阶段;若是,则执行减少所述待执行的阶段的时长的操作。15.根据权利要求1

13中任一项所述的方法,其特征在于,所述执行减少时长的操作,包括:在下一帧画面中,执行减少所述目标阶段的时长的操作。16.根据权利要求5

13中任一项所述的方法,其特征在于,所述TP驱动与所述触摸IC芯片通过串行外设接口SPI连接,所述TP驱动根据所述屏幕的容值数据,得到所述触控事件之前,还包括:所述TP驱动响应于所述中断信号,通过所述SPI读取所述容值数据;所述目标阶段为所述第一子阶段,所述执行减...

【专利技术属性】
技术研发人员:钟辉李登
申请(专利权)人:荣耀终端有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1