CN115639920B - 绘制方法、电子设备和可读存储介质 - Google Patents
绘制方法、电子设备和可读存储介质 Download PDFInfo
- Publication number
- CN115639920B CN115639920B CN202111604587.3A CN202111604587A CN115639920B CN 115639920 B CN115639920 B CN 115639920B CN 202111604587 A CN202111604587 A CN 202111604587A CN 115639920 B CN115639920 B CN 115639920B
- Authority
- CN
- China
- Prior art keywords
- module
- stage
- sub
- duration
- time delay
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 230000004044 response Effects 0.000 claims abstract description 218
- 238000009877 rendering Methods 0.000 claims abstract description 114
- 230000005540 biological transmission Effects 0.000 claims abstract description 31
- 239000000203 mixture Substances 0.000 claims abstract description 30
- 238000012544 monitoring process Methods 0.000 claims description 169
- 238000012545 processing Methods 0.000 claims description 40
- 230000015572 biosynthetic process Effects 0.000 claims description 31
- 238000003786 synthesis reaction Methods 0.000 claims description 31
- 238000013468 resource allocation Methods 0.000 claims description 7
- 238000004590 computer program Methods 0.000 claims description 5
- 230000002093 peripheral effect Effects 0.000 claims description 5
- 238000007726 management method Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 34
- 239000010410 layer Substances 0.000 description 113
- 241001422033 Thestylus Species 0.000 description 41
- 230000006870 function Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 18
- 238000005070 sampling Methods 0.000 description 13
- 230000008859 change Effects 0.000 description 10
- 230000002194 synthesizing effect Effects 0.000 description 8
- 230000000087 stabilizing effect Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000013459 approach Methods 0.000 description 5
- 238000001514 detection method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 239000002344 surface layer Substances 0.000 description 3
- 239000010409 thin film Substances 0.000 description 3
- 238000012384 transportation and delivery Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 229940057373 c-time Drugs 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 210000001145 finger joint Anatomy 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 239000011230 binding agent Substances 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000010030 laminating Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 102220052451 rs373410109 Human genes 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例提供了一种绘制方法、电子设备和可读存储介质,该方法包括:响应于检测到用户接触电子设备的屏幕,获取电子设备显示一帧画面之前执行各阶段的时长,各阶段包括:触控事件传输阶段、画面的绘制阶段、渲染阶段和图层合成阶段;检测各阶段中是否存在目标阶段,其中,执行目标阶段的时长大于目标阶段的时长阈值;若是,则执行减少时长的操作,以减少执行各阶段的时长。本申请实施例可以控制绘制过程在一定时间内,进而提高电子设备绘制稳定性。
Description
技术领域
本申请实施例涉及计算机技术,尤其涉及一种绘制方法、电子设备和可读存储介质。
背景技术
随着触控技术的发展,越来越多的电子设备采用触控方式进行人机交互,如用户可以通过触控笔操作电子设备的屏幕向电子设备提供输入,电子设备基于触控笔的输入执行相应的操作。
目前用户使用触控笔在电子设备的屏幕上绘制笔迹时,有时笔迹跟随触控笔的笔尖的位置显示,有时笔迹落后触控笔的笔尖的位置显示,笔迹显示不稳定,影响用户的绘制体验。
发明内容
本申请实施例提供一种绘制方法、电子设备和可读存储介质,可以提高电子设备的绘制稳定性。
第一方面,本申请实施例提供一种绘制方法,执行该方法的执行主体可以为电子设备或者电子设备中的芯片,下述实施例中以电子设备为例进行说明。该方法包括:响应于检测到用户接触电子设备的屏幕,获取所述电子设备显示一帧画面之前执行各阶段的时长,所述各阶段包括:触控事件传输阶段、所述画面的绘制阶段、渲染阶段和图层合成阶段。其中,用户接触电子设备的屏幕可以为用户使用手指、触控笔或用户的指关节等接触屏幕,本申请实施例对用户接触电子设备的屏幕的形式不做限制。
应理解的是,本申请实施例中以触控事件传输阶段、所述画面的绘制阶段、渲染阶段和图层合成阶段为例进行说明,本申请实施例对如何划分电子设备显示一帧画面之前的各阶段不做限制,即使用了本申请实施例中的技术构思和方法,均属于本申请的保护范围。
其中,电子设备可以检测所述各阶段中是否存在目标阶段。执行所述目标阶段的时长大于所述目标阶段的时长阈值,换句话说,电子设备可以检测执行各阶段的时长是否大于各自对阶段对应的时长阈值。每个阶段对应的时长阈值可以相同或不同。当存在目标阶段时,表征电子设备执行该目标阶段的时长较长,若按照该速度执行绘制画面,则会造成绘制不稳定的问题,影响用户体验。因此,本申请实施例中可以执行减少时长的操作,以减少执行所述各阶段的时长。可以想到的是,若不存在目标阶段,则电子设备可以不响应。
本申请实施例中,若检测到有目标阶段的时长大于对应的时长阈值,则执行减少时长的操作,以减少执行所述各阶段的时长,保证电子设备的绘制总时长处于一定时长内,使得电子设备可以稳定绘制画面,提高用户体验。
下述对电子设备显示一帧画面之前执行各阶段进行介绍:
其中,所述电子设备中包括触摸TP驱动和应用程序。所述触控事件传输阶段为:所述TP驱动检测到所述用户接触所述屏幕至所述应用程序接收到触控事件。
在一种可能的实现方式中,所述电子设备中还包括:输入事件读取模块、输入事件分发模块、以及窗口管理服务WMS。所述触控事件传输阶段包括:第一子阶段、第二子阶段、第三子阶段和第四子阶段。
其中,所述第一子阶段为:所述TP驱动检测到所述用户接触所述屏幕至所述TP驱动将所述触控事件写入触控事件存储队列;所述第二子阶段为:所述TP驱动将所述触控事件写入所述触控事件存储队列至所述输入事件读取模块从所述触控事件存储队列读取所述触控事件;所述第三子阶段为:所述输入事件读取模块从所述触控事件存储队列读取所述触控事件至所述输入事件分发模块向所述WMS发送所述触控事件;所述第四子阶段为:所述WMS开始向所述应用程序发送所述触控事件至所述WMS完成向所述应用程序所述触控事件。
在一种可能的实现方式中,所述电子设备还包括:触摸IC芯片,所述第一子阶段具体为:所述触摸IC芯片向所述TP驱动发送中断信号至所述TP驱动将所述触控事件写入所述触控事件存储队列,所述TP驱动接收所述中断信号表征:所述TP驱动检测到所述用户接触所述屏幕。
相应的,所述电子设备中还包括:跟手响应时延监控模块。在该实现方式中,因为触控事件传输阶段包括四个子阶段,因此电子设备获取执行所述触控事件传输阶段的时长可以包括:所述跟手响应时延监控模块分别获取执行所述第一子阶段的第一时长、执行所述第二子阶段的第二时长、执行所述第三子阶段的第三时长,以及执行所述第四子阶段第四时长。
在一种实施例中,本申请实施例中将触控事件传输阶段分为四个子阶段,在另一些实施例中,也可以将触控事件传输阶段分为不同于本申请的其他子阶段,如将第一子阶段和第二子阶段作为一个子阶段,将第三子阶段和第四子阶段作为一个子阶段。或者,将每个子阶段再拆分成更小的子阶段。本申请实施例中,以触控事件传输阶段分为四个子阶段为例进行介绍。
下述针对本申请实施例中获取第一子阶段、第二子阶段、第三子阶段、第四子阶段、绘制阶段、渲染阶段以及图层合成阶段中每个阶段的时长进行介绍:
其一:第一子阶段。
其中,所述TP驱动响应于接收到所述中断信号,记录第一时刻;所述TP驱动根据所述屏幕的容值数据,得到所述触控事件,且将所述触控事件写入所述触控事件存储队列,记录第二时刻;所述TP驱动向所述跟手响应时延监控模块发送所述第一时刻和所述第二时刻。如此,所述跟手响应时延监控模块根据所述第一时刻和所述第二时刻,获取所述第一时长,示例性的,跟手响应时延监控模块可以将所述第一时刻和所述第二时刻做差,得到该第一时长。
其二:第二子阶段。
其中,所述输入事件读取模块响应于从所述触控事件存储队列读取所述触控事件,记录第三时刻;所述输入事件读取模块向所述跟手响应时延监控模发送所述第三时刻。如此,所述跟手响应时延监控模块根据所述第二时刻和所述第三时刻,获取所述第二时长。示例性的,跟手响应时延监控模块可以将所述第二时刻和所述第三时刻做差,得到该第二时长。
其三:第三子阶段。
其中,所述输入事件分发模块响应于接收来自所述输入事件读取模块的所述触控事件,向所述WMS发送所述触控事件,且记录第四时刻;所述输入事件分发模块向所述跟手响应时延监控模块发送所述第四时。如此,所述跟手响应时延监控模块根据所述第三时刻和所述第四时刻,获取所述第三时长。示例性的,跟手响应时延监控模块可以将所述第三时刻和所述第四时刻做差,得到该第三时长。
其四:第四子阶段。
其中,所述WMS响应于接收来自所述输入事件分发模块的所述触控事件,向所述应用程序发送所述触控事件,且记录第五时刻;所述WMS响应于完成所述触控事件的发送,记录第六时刻;所述WMS向所述跟手响应时延监控模块发送所述第五时刻和所述第六时刻。如此,所述跟手响应时延监控模块根据所述第五时刻和所述第六时刻,获取所述第四时长。示例性的,跟手响应时延监控模块可以将所述第五时刻和所述第六时刻做差,得到该第四时长。
其五:绘制阶段。
在一种实施例中,所述电子设备中还包括绘制模块,所述向所述应用程序发送所述触控事件,包括:所述WMS向所述绘制模块发送所述触控事件。其中,所述触控事件中包括:触控类型和触控位置,所述触控类型指示接触所述屏幕的对象,所述触控位置表征接触屏幕的位置。
其中,所述绘制模块响应于接收到所述触控事件,基于所述触控类型和触控位置,绘制窗口;所述绘制模块响应于完成窗口绘制,记录第七时刻;所述绘制模块向所述跟手响应时延监控模块发送所述第七时刻。如此,所述跟手响应时延监控模块根据所述第六时刻和所述第七时刻,获取所述执行所述绘制阶段的时长。示例性的,跟手响应时延监控模块可以将所述第六时刻和所述第七时刻做差,得到执行所述绘制阶段的时长。
其六:渲染阶段。
在一种实施例中,所述电子设备中还包括渲染模块。
其中,所述渲染模块渲染所述绘制模块完成绘制的窗口,且记录完成渲染的第八时刻;所述绘制模块向所述跟手响应时延监控模块发送所述第八时刻。所述跟手响应时延监控模块根据所述第七时刻和所述第八时刻,获取所述执行所述渲染阶段的时长。示例性的,跟手响应时延监控模块可以将所述第七时刻和所述第八时刻做差,得到执行所述渲染阶段的时长。
其七:图层合成阶段。
在一种实施例中,所述电子设备中还包括图层合成模块。
其中,所述图层合成模块对所述渲染模块完成渲染的窗口进行图层合成,且记录开始进行图层合成的第九时刻,以及完成图层合成的第十时刻;所述图层合成模块向所述跟手响应时延监控模块发送所述第九时刻和所述第十时刻。所述跟手响应时延监控模块根据所述第九时刻和所述第十时刻,获取所述执行所述图层合成阶段的时长。示例性的,跟手响应时延监控模块可以将所述第九时刻和所述第十时刻做差,得到执行所述图层合成阶段的时长。
其中,电子设备减少时长的操作可以包括两种方式,一种为减少目标阶段之后的阶段的时长,另一种为在下一帧画面中减少该目标阶段的时长。示例性的,如电子设备可以检测所述目标阶段之后是否存在待执行的阶段;若是,则执行减少所述待执行的阶段的时长的操作,若否,则在下一帧画面中减少该目标阶段的时长。或者,示例性的,电子设备可以直接在下一帧画面中减少该目标阶段的时长。
无论是减少目标阶段之后的阶段的时长,还是在下一帧画面中减少该目标阶段的时长,下述对减少每一阶段的时长的操作进行说明:
其一,第一子阶段。
所述TP驱动与所述触摸IC芯片通过串行外设接口SPI连接,所述TP驱动响应于中断信号,通过所述SPI读取所述容值数据,进而根据所述屏幕的容值数据,得到所述触控事件。其中,SPI用于向所述TP驱动传输容值数据,SPI传输容值数据的速度越快,则所述TP驱动执行第一子阶段的时长越少。
因此,在一种实施例中,所述跟手响应时延监控模块响应于检测到第一子阶段的时长大于第一子阶段对应的预设时长,可以向所述TP驱动发送第一消息,所述第一消息用于指示提高所述SPI传输所述容值数据的速度。相应的,所述TP驱动响应于所述第一消息,可以对所述SPI进行参数配置,以提高所述SPI传输所述容值数据的速度。示例性的,如TP驱动可以配置SPI的传输速度,以提高SPI传输容值数据的速度。
在一种实施例中,所述跟手响应时延监控模块响应于检测到第一子阶段的时长大于第一子阶段对应的预设时长,还可以提高TP驱动的中央处理器CPU资源配置,进而加快TP驱动执行第一子阶段的速度,以减少TP驱动执行第一子阶段的时长。
其中,所述电子设备还包括:资源调度模块,所述跟手响应时延监控模块向所述资源调度模块发送第二消息,所述第二消息用于指示提高对所述TP驱动的中央处理器CPU资源配置。所述资源调度模块响应于所述第二消息,执行提高所述TP驱动的中央处理器CPU资源配置的操作。
示例性的,资源调度模块响应于所述第二消息,可以执行如下至少一项操作:提高所述TP驱动对应的线程的优先级,增大所述TP驱动对应的线程使用的CPU的频点,增加所述TP驱动对应的线程使用的CPU的核数,切换所述TP驱动对应的线程使用的CPU的架构。
其二,第二子阶段。
在一种实施例中,所述跟手响应时延监控模块响应于检测到第二子阶段的时长大于第二子阶段对应的预设时长,还可以提高所述输入事件读取模块的中央处理器CPU资源配置,进而加快所述输入事件读取模块执行第二子阶段的速度,以减少所述输入事件读取模块执行第二子阶段的时长。
其中,所述跟手响应时延监控模块向所述资源调度模块发送第三消息,所述第三消息用于指示提高对所述输入事件读取模块的CPU资源配置。所述资源调度模块响应于所述第三消息,执行提高所述输入事件读取模块的CPU资源配置的操作。
示例性的,所述资源调度模块响应于所述第三消息,执行如下至少一个操作:提高所述输入事件读取模块对应的线程的优先级,增大所述输入事件读取模块对应的线程使用的CPU的频点,增加所述输入事件读取模块对应的线程使用的CPU的核数,切换所述输入事件读取模块对应的线程使用的CPU的架构。
其三,第三子阶段。
在一种实施例中,所述跟手响应时延监控模块响应于检测到第三子阶段的时长大于第三子阶段对应的预设时长,还可以提高所述输入事件分发模块的中央处理器CPU资源配置,进而加快所述输入事件分发模块执行第三子阶段的速度,以减少所述输入事件分发模块执行第三子阶段的时长。
其中,所述跟手响应时延监控模块向所述资源调度模块发送第四消息,所述第四消息用于指示提高对所述输入事件分发模块的CPU资源配置。所述资源调度模块响应于所述第四消息,执行提高所述输入事件分发模块的CPU资源配置的操作。
示例性的,所述资源调度模块响应于所述第四消息,执行如下至少一个操作:提高所述输入事件分发模块对应的线程的优先级,增大所述输入事件分发模块对应的线程使用的CPU的频点,增加所述输入事件分发模块对应的线程使用的CPU的核数,切换所述输入事件分发模块对应的线程使用的CPU的架构。
其四,第四子阶段。
所述第四子阶段中所述WMS调用传输触控事件线程向所述应用程序发送所述触控事件。
在一种实施例中,所述跟手响应时延监控模块响应于检测到第四子阶段的时长大于第四子阶段对应的预设时长,还可以提高传输触控事件线程的中央处理器CPU资源配置,进而加快所述WMS执行第四子阶段的速度,以减少WMS执行第四子阶段的时长。
其中,所述跟手响应时延监控模块向所述资源调度模块发送第五消息,所述第五消息用于指示提高对所述传输触控事件线程的CPU资源配置;所述资源调度模块响应于所述第五消息,执行提高所述传输触控事件线程的CPU资源配置的操作。
示例性的,所述资源调度模块响应于所述第五消息,执行如下至少一个操作:提高所述传输触控事件线程的优先级,增大所述传输触控事件线程使用的CPU的频点,增加所述传输触控事件线程使用的CPU的核数,切换所述传输触控事件线程使用的CPU的架构。
其五,绘制阶段。
在一种实施例中,所述跟手响应时延监控模块可以将帧绘制模式从多帧绘制调整至单帧绘制,以提高绘制模块绘制窗口的速度。示例性的,跟手响应时延监控模块可以向绘制模块、渲染模块,以及图层合成模块发送指示消息,以指示绘制模块、渲染模块,以及图层合成模在一帧画面中完成绘制阶段、渲染阶段以及图层合成阶段。
在一种实施例中,所述跟手响应时延监控模块提高所述电子设备的刷新率。电子设备的刷新率提高,可以减少给与绘制模块绘制窗口的时间,进而提高绘制窗口的速度。示例性的,电子设备中包括刷新率控制模块,所述跟手响应时延监控模块可以向刷新率控制模块发送指示提高电子设备的刷新率的消息,使得刷新率控制模块提高电子设备的刷新率。
在一种实施例中,所述跟手响应时延监控模块向所述绘制模块发送第六消息,所述第六消息用于指示所述绘制模块减小绘制等待时长,所述绘制等待时长为所述绘制模块从接收到绘制指令至开始绘制窗口的时长。如此,所述绘制模块响应于所述第六消息,减小所述绘制等待时长。
在一种实施例中,所述绘制模块调用用户界面UI线程绘制窗口。
在该实施例中,所述跟手响应时延监控模块响应于检测到绘制阶段的时长大于绘制阶段对应的预设时长,还可以提高UI线程的中央处理器CPU资源配置,进而加快所述绘制模块执行绘制阶段的速度,以减少绘制模块执行绘制阶段的时长。
其中,所述跟手响应时延监控模块向所述资源调度模块发送第七消息,所述第七消息用于指示提高对UI线程的CPU资源配置;所述资源调度模块响应于所述第七消息,执行提高所述UI线程的CPU资源配置的操作。
示例性的,所述资源调度模块响应于所述第七消息,执行如下至少一个操作:提高所述UI线程的优先级,增大所述UI线程使用的CPU的频点,增加所述UI线程使用的CPU的核数,切换所述UI线程使用的CPU的架构。
其六,渲染阶段。
在一种实施例中,与上述绘制阶段类似的,所述跟手响应时延监控模块提高所述电子设备的刷新率,以减少给与渲染模块渲染窗口的时间,进而提高渲染窗口的速度。示例性的,电子设备中包括刷新率控制模块,所述跟手响应时延监控模块可以向刷新率控制模块发送指示提高电子设备的刷新率的消息,使得刷新率控制模块提高电子设备的刷新率。
在一种实施例中,渲染模块在渲染窗口的过程中使用图形处理器GPU资源。所述跟手响应时延监控模块响应于检测到渲染阶段的时长大于渲染阶段对应的预设时长,还可以提高渲染模块的中央处理器CPU资源配置和图形处理器GPU资源配置,进而加快所述渲染模块执行渲染阶段的速度,以减少渲染模块执行渲染阶段的时长。
其中,所述跟手响应时延监控模块向所述资源调度模块发送第八消息,所述第八消息用于指示提高对所述渲染模块的CPU资源配置和图形处理器GPU资源配置;所述资源调度模块响应于所述第八消息,执行提高所述渲染模块的CPU资源配置的操作,以及执行提高所述渲染模块的图形处理器GPU资源配置的操作。
示例性的,所述资源调度模块响应于所述第八消息,执行如下至少一个操作:提高渲染模块对应的线程的优先级,增大所述渲染模块对应的线程使用的CPU的频点,增加所述渲染模块对应的线程使用的CPU的核数,切换所述渲染模块对应的线程使用的CPU的架构。另外,所述资源调度模块响应于所述第八消息,还执行如下至少一个操作:增加所述渲染模块对应的线程使用的GPU的核数,切换所述渲染模块对应的线程使用的GPU的架构。
在一种实施例中,所述跟手响应时延监控模块可以向GPU驱动发送提高对渲染模块的图形处理器GPU资源配置的消息,GPU驱动响应于接收到该消息,可以执行提高所述渲染模块的图形处理器GPU资源配置的操作。示例性的,GPU驱动可以执行如下至少一个操作:增加所述渲染模块对应的线程使用的GPU的核数,切换所述渲染模块对应的线程使用的GPU的架构。
其七,图层合成阶段。
在一种实施例中,与上述绘制阶段类似的,所述跟手响应时延监控模块提高所述电子设备的刷新率,以减少给与图层合成模块进行图层合成的时间,进而提高图层合成的速度。示例性的,电子设备中包括刷新率控制模块,所述跟手响应时延监控模块可以向刷新率控制模块发送指示提高电子设备的刷新率的消息,使得刷新率控制模块提高电子设备的刷新率。
在一种实施例中,图层合成模块在图层合成的过程中使用图形处理器GPU资源。所述跟手响应时延监控模块响应于检测到图层合成阶段的时长大于图层合成阶段对应的预设时长,还可以提高图层合成模块的中央处理器CPU资源配置和图形处理器GPU资源配置,进而加快所述图层合成模块执行渲染阶段的速度,以减少图层合成模块执行图层合成阶段的时长。
其中,所述跟手响应时延监控模块向所述资源调度模块发送第九消息,所述第九消息用于指示提高对所述图层合成模块的CPU资源配置,以及所述图层合成模块的GPU资源配置;所述资源调度模块响应于所述第九消息,执行提高所述图层合成模块的CPU资源配置的操作,以及执行提高所述图层合成模块的图形处理器GPU资源配置的操作。
示例性的,所述资源调度模块响应于所述第九消息,执行如下至少一个操作:提高图层合成模块对应的线程的优先级,增大所述图层合成模块对应的线程使用的CPU的频点,增加所述图层合成模块对应的线程使用的CPU的核数,切换所述图层合成模块对应的线程使用的CPU的架构。另外,所述资源调度模块响应于所述第九消息,还执行如下至少一个操作:增加所述图层合成模块对应的线程使用的GPU的核数,切换所述图层合成模块对应的线程使用的GPU的架构。
在一种实施例中,所述跟手响应时延监控模块可以向GPU驱动发送提高对图层合成模块的图形处理器GPU资源配置的消息,GPU驱动响应于接收到该消息,可以执行提高所述图层合成模块的图形处理器GPU资源配置的操作。示例性的,GPU驱动可以执行如下至少一个操作:增加所述图层合成模块对应的线程使用的GPU的核数,切换所述图层合成模块对应的线程使用的GPU的架构。
在一种实施例中,所述电子设备还包括:HWC、存储器DDR,以及显示驱动,所述HWC调度数字信号处理器以辅助所述图层合成模块执行图层合成,所述图层合成模块将合成的图层存储于所述DDR中,以用于所述显示驱动从所述DDR中读取合成的图层进行显示。
在该实施例中,所述跟手响应时延监控模块响应于检测到图层合成阶段的时长大于图层合成阶段对应的预设时长,所述跟手响应时延监控模块提高所述HWC调度所述数字信号处理器的频率;和/或,所述跟手响应时延监控模块提高所述DDR的频率。
其中,所述跟手响应时延监控模块可以向HWC发送提高对数字信号处理器的调度频率的指示消息,以使得HW提高调度所述数字信号处理器的频率。在一种实施例中,所述跟手响应时延监控模块可以向DDR发送指示提高频率的消息,DDR响应于该消息,可以提高DDR的频率。在一种实施例中,所述跟手响应时延监控模块可以向资源调度模块发送提高DDR频率的消息,资源调度模块响应于该消息,可以提高DDR的频率。
第二方面,本申请实施例提供一种电子设备,该电子设备可以包括:处理器、存储器。存储器用于存储计算机可执行程序代码,程序代码包括指令;当处理器执行指令时,指令使所述电子设备执行如第一方面中的方法。
第三方面,本申请实施例提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面中的方法。
上述第二方面至第四方面的各可能的实现方式,其有益效果可以参见上述第一方面所带来的有益效果,在此不加赘述。
附图说明
图1为用户使用触控笔在电子设备上绘制笔迹的一种示意图;
图2为本申请实施例提供的电子设备的一种结构示意图;
图3为本申请实施例提供的触控笔在电子设备上绘制笔迹的过程示意图;
图4为本申请实施例提供的一种网格的示意图;
图5为本申请实施例提供的触控笔在电子设备上绘制笔迹不流畅的示意图;
图6为本申请实施例提供的触控笔在电子设备上绘制笔迹的过程的另一示意图;
图7为本申请实施例提供的触摸IC芯片检测触摸信号的示意图;
图8为本申请实施例提供的一种信号示意图;
图9为本申请实施例提供的电子设备的另一结构示意图;
图10为本申请实施例提供的电子设备的设置界面的一种示意图;
图11为本申请实施例提供的绘制方法的一种实施例的流程示意图;
图12为本申请实施例提供的绘制方法的另一种实施例的流程示意图;
图13为本申请实施例提供的绘制方法的另一种实施例的流程示意图;
图14为本申请实施例提供的电子设备的另一种结构示意图。
具体实施方式
图1为用户使用触控笔在电子设备上绘制笔迹的一种示意图。参照图1,用户可以使用触控笔(如触控笔的笔尖)接触电子设备的屏幕,电子设备可以根据触控笔在屏幕上的位置显示笔迹。在一种实施例中,用户也可以使用手指、指关节等在电子设备的屏幕上绘制笔迹,本申请实施例以触控笔在电子设备的屏幕上绘制笔迹为例进行说明。
本申请实施例中的电子设备可以称为用户设备(user equipment,UE)、终端(terminal)等,例如,电子设备可以为手机、平板电脑(portable android device,PAD)、笔记本电脑、个人数字处理(personal digital assistant,PDA)、具有无线通信功能的手持设备、计算设备、车载设备或可穿戴设备,虚拟现实(virtual reality,VR)终端设备、增强现实(augmented reality,AR)终端设备、工业控制(industrial control)中的无线终端、智慧家庭(smart home)中的无线终端等移动终端或固定终端,本申请实施例中对电子设备的形态不做具体限定。
在介绍触控笔在电子设备上绘制笔迹的过程之前,先对电子设备的结构进行描述:
图2为本申请实施例提供的电子设备的一种结构示意图。参照图2,电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例说明电子设备的软件结构。分层架构可以将电子设备的软件系统分成若干个层,每一层都有清晰的角色和分工,层与层之间通过软件接口通信。
在一种实施例中,可以将Android系统分为四层,分别为应用程序层(applications)、应用程序框架层(application framework)、内核层(kernel)以及硬件层。在一种实施例中,Android系统还可以包括安卓运行时(Android runtime)和系统库,图2中未示出。本申请实施例对电子设备的软件结构的分层不做限制。如下实施例中各分层中包括的模块为本申请实施例中涉及到的模块,如下各分层中包括的模块并不构成对电子设备的结构的限定。在本申请另一种实施例中,电子设备可以包括比图示更多或更少的模块,或者组合某些模块,或者拆分某些模块,或者不同的模块布置。图示的模块可以以硬件,软件,或软件和硬件的组合实现。
其中,应用程序层可以包括应用程序包。示例性的,应用程序层内可以包括:相机,图库,日历,通话,地图,导航,蓝牙,音乐,视频,短信息等应用程序包(图2中以应用程序为例进行说明)。图2中以应用程序层包括应用程序为例进行说明。
在一种实施例中,应用程序中可以包括绘制模块和渲染模块,各模块的功能可以参照下述实施例中的相关描述。
应用程序框架层可以为应用程序层中的应用程序提供应用编程接口(application programming interface,API)和编程框架。在一种实施例中,参照图2,应用程序框架层可以包括:输入事件读取模块(Input Reader)、输入事件分发模块(InputDispatcher)、触控容值处理模块、窗口管理服务(window manager service,WMS)、图层合成模块(Surface Flinger),各模块的功能可以参照下述实施例中的相关描述。InputReader和Input Dispatcher可以包含于Input子系统中,Input子系统中还可以包括触控事件存储队列(EventHub队列)。应理解,输入事件(Input Event)可以为触控事件,触控事件可以包括:用户的触控事件(Touch Event)和触控笔的触控事件(Pen Event)。用户的触控事件可以由用户的手指、指关节等触发的事件。
内核层中至少包括硬件的驱动,用于驱动硬件工作,如内核层中包括触控驱动(touch panel driver,TP driver)、显示驱动(display driver)、传感器驱动(sensordriver)、图形处理器驱动(graphics processing unit driver,GPU driver)等,本申请实施例对此不做任何限制。应理解,图中以显示驱动为液晶显示驱动(liquid crystaldisplay driver,LCD driver)为例进行说明。示例性的,LCD driver(可以称为LCD驱动),用于驱动电子设备中的屏幕中的LCD显示屏显示内容。GPU driver(可以称为GPU驱动),用于驱动电子设备中的GPU工作。
内核层中还包括:用户进行窗口(Layer)合成和显示的HWC(hwcomposer)模块,HWC模块用于辅助Surface Flinger完成图层的合成。
硬件层包括硬件设备,如触控面板(touch panel,TP)、显示面板、中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、双倍速率同步动态随机存储器(double data rate,DDR)、传感器等,各模块的功能可以参照下述实施例中的相关描述。示例性的,传感器可以包括:压力传感器,陀螺仪传感器,加速度传感器,距离传感器,接近光传感器,指纹传感器等,本申请实施例对各传感器的功能不做赘述。
其中,触控面板中包括:触摸传感器(touch panel sensor,TP sensor)和触摸集成电路(integrated circuit,IC)芯片,显示面板中可以包括:显示屏和显示IC芯片。在一种实施例中,触摸IC芯片和显示IC芯片可以集成为一体设置或者独立设置。显示屏可以包括但不限于为:LCD显示屏、发光二极管(light emitting diode,LED)显示屏,本申请实施例对此不作限制。应理解,图2中未示出具体的触摸IC芯片、显示IC芯片,分别以触控面板和LCD显示屏为例。应理解,本申请实施例中描述的电子设备的屏幕可以包括:触控面板和显示面板。
基于上述图2所示的电子设备的结构,介绍触控笔在电子设备上绘制笔迹的过程,参照图3,触控笔在电子设备上绘制笔迹的过程可以包括:
S301,触摸IC芯片响应于检测到TP sensor的容值变化,向TP驱动发送中断信号。
当触控笔或手指靠近电子设备的屏幕时,会引起触控面板中的TP sensor的容值变化,且触控笔或手指距离屏幕越近,TP sensor的容值的变化量越大。进而,触摸IC芯片可以实时检测TP sensor的容值,以确定是否有触控笔或手指靠近电子设备的屏幕。
当触摸IC芯片检测到TP sensor的容值变化时,可以确定有触控笔或手指靠近屏幕,触摸IC芯片可以向TP驱动发送中断信号,以通知TP驱动有触控笔或手指靠近屏幕。示例性的,当触摸IC芯片检测TP sensor的容值变化时,触摸IC芯片可以启动中断服务处理(interrupt service routines,ISR)程序,以向TP驱动发送ISR中断信号。
应理解,本申请实施例中,触摸IC芯片检测到TP sensor的容值变化的变化量大于预设变化量时,可以向TP驱动发送中断信号。
S302,TP驱动响应于接收到中断信号,读取TP sensor的容值数据。
在一种实施例中,TP sensor可以被划分为多个行列排布的网格,当触控笔或手指靠近电子设备的屏幕时,会引起触控笔所在位置处对应网格的容值变化。应理解,未有触控笔靠近电子设备的屏幕时,每个网格中的容值是固定不变的,不同网格中的容值可以相同或不同。示例性的,TP sensor可以被划分为18行*38列的网格。
本申请实施例中,TP驱动响应于接收到中断信号,可以读取TP sensor的容值数据。容值数据包括TP sensor中每个网格的容值。也可以说,容值数据中包括多个数组,每个数组中包括网格的标识,以及网格对应的容值。在一种实施例中,TP驱动可以通过串行外设接口(serial peripheral interface,SPI)读取TP sensor的容值数据。在一种实施例中,网格的标识可以为网格的行列编号,如网格的行列编号为:行15列8(R15T8),其中,R表征行row,T表征列train,本申请实施例对网格的标识不做限制。
图4为本申请实施例提供的一种网格的示意图。图4中以TP sensor可以被划分为8行*10列的网格,图4中的a示出了为“未有触控笔或手指靠近电子设备的屏幕”时每个网格的容值,当触控笔接触电子设备的屏幕时,如会引起4个网格的容值变化,如图4中的b所示。应理解,图4中以“未有触控笔或手指靠近电子设备的屏幕”时每个网格的容值为-1进行表征。
S303,TP驱动响应于读取完TP sensor的容值数据,向触控容值处理模块发送第一消息。
第一消息用于指示触控容值处理模块从TP驱动中读取TP sensor的容值数据。
S304,触控容值处理模块响应于第一消息,从TP驱动中读取TP sensor的容值数据。
S305,触控容值处理模块根据TP sensor的容值数据,确定靠近屏幕的是触控笔还是用户的手指,以及确定在屏幕上的位置。
因为用户手指的面积大于触控笔的面积,因此当用户手指靠近屏幕时引起容值变化的面积大于触控笔靠近屏幕时引起容值变化的面积。本申请实施例中,触控容值处理模块可以根据TP sensor的容值数据中的容值变化的网格的数量,确定靠近屏幕的是触控笔还是用户的手指。示例性的,当用户手指靠近屏幕时,容值变化的网格的数量如9个,当触控笔靠近屏幕时,容值变化的网格的数量如4个。
在一种实施例中,触控容值处理模块中可以存储有未有触控笔或手指靠近电子设备的屏幕时每个网格的容值,触控容值处理模块可以根据“未有触控笔或手指靠近电子设备的屏幕时每个网格的容值”,以及“从TP驱动中读取TP sensor的容值数据”,检测容值变化的网格的数量,进而基于容值变化的网格的数量,确定靠近屏幕的是触控笔还是用户的手指。参照图4,如容值变化的网格的数量为4个,则触控容值处理模块可以确定屏幕的是触控笔。
在一种实施例中,若触控容值处理确定屏幕的是手指,触控容值处理模块还可以基于屏幕上容值发生变化的9个网格有几处,若是一处则表征用户单指触摸屏幕,若是多处则表征用户多指触摸屏幕。
另外,触控容值处理模块可以根据TP sensor的容值数据中网格的标识,确定网格在屏幕的位置,进而确定触控笔或手指在屏幕上的位置。其中,触控笔在屏幕上的位置可以为:触控笔在屏幕上的位置在屏幕上的坐标(x,y),本申请实施例中对屏幕的坐标系的设定不做限制。
换句话说,触控容值处理模块可以将容值数据转化成为“触控类型和触控位置”。触控类型包括:手指触控和触控笔触控。触控类型用于指示靠近屏幕的是手指还是触控笔。触控位置为触控笔在屏幕上的位置在屏幕上的坐标(x,y)。
S306,触控容值处理模块向TP驱动发送触控类型和触控位置。
S307,TP驱动根据触控类型和触控位置,将触控事件(TP事件)写入EventHub队列。
触控事件中可以包括:触控类型、触控位置,以及触控事件时间戳。触控事件时间戳可以为TP驱动将触控事件写入EventHub队列的时刻。
在一种实施例中,若触控笔的笔尖设置有压力传感器,则触控笔的笔尖接触屏幕时,触控笔可以采集笔尖的压力值,进而通过触控笔与电子设备之间的无线连接向电子设备发送笔尖的压力值。在该实施例中,TP驱动可以将笔尖的压力值携带在触控事件中。
其中,若接触屏幕的是触控笔,则该触控事件为Pen Event,若接触屏幕的是手指,则该触控事件为Touch Event。
S308,Input Reader从EventHub队列中读取触控事件。
应理解,Input Reader可以实时检测EventHub队列中是否有触控事件写入,因此当TP驱动将触控事件写入EventHub队列时,Input Reader能够检测到EventHub队列中有触控事件写入,进而Input Reader可以从EventHub队列中读取触控事件。
在一种实施例中,Input Reader从EventHub队列中读取触控事件,可以获取触控事件中的触控时刻。
S309,Input Reader向Input Dispatcher发送触控事件。
S310,Input Dispatcher向WMS发送触控事件。
其中,本申请实施例中Input Dispatcher可以通过WMS向应用程序发送触控事件。
在一种实施例中,Input Dispatcher还可以向系统服务发送触控事件,使得系统服务基于触控事件执行相应的操作。本申请实施例中描述“Input Dispatcher通过WMS向应用程序发送触控事件”的方案。
应理解,应用程序在启动时,可以通过WMS向Input Dispatcher请求触控事件的监听权,触控事件的监听权可以理解为:请求Input Dispatcher将获取的触控事件分发给该应用程序,使得应用程序可以基于触控事件中的数据,执行相应的操作。该过程可以理解为:应用程序在启动时,通过WMS向Input Dispatcher请求触控事件的监听权,WMS响应于应用程序的请求,可以建立“Input Dispatcher-WMS-应用程序”的管道,以传输触控事件。其中,请求触控事件的监听权的应用程序可以包括但不限于为:备忘录、绘画类应用程序、社交类应用程序等需要明确触控笔或手指的操作的应用程序。
S311,WMS向应用程序发送触控事件。
当WMS接收到来自Input Dispatcher的触控事件时,可以通过“InputDispatcher-WMS-应用程序”的管道,向应用程序发送触控事件。相应的,应用程序可以启动Delivery Input Event,在View Root Impl的界面树(view tree)里面获取触控事件。应理解,ViewRootImpl是界面View中的最高层级,属于所有View树结构的根节点,实现了View和WMS之间的通信协议。
S312,应用程序中的绘制模块基于触控事件中的触控类型和触控位置,绘制窗口。
绘制模块响应于接收到触控事件,可以向WMS发送对窗口进行绘制的请求,该请求用于指示WMS接收到App-Vsync信号后,将该App-Vsync信号发送给绘制模块。其中,App-Vsync信号用于指示绘制模块开始绘制窗口。
换句话说,绘制模块向WMS发送对窗口进行绘制的请求后,开始等待应用程序的Draw函数被回调,当绘制模块接收到App-Vsync信号时,应用程序的Draw函数被回调,绘制模块可以开始绘制窗口。
绘制模块可以根据触控事件中的触控类型和触控位置,以及屏幕上当前用户界面的布局,依次执行重新计算窗口大小(measure)、在屏幕上安置窗口的位置(layout),以及重新绘制(draw)等步骤,可以参照现有技术中的相关描述,本申请实施例对该过程不做赘述。
示例性的,如触控事件中的触控位置为当前用户界面显示的一控件所在的位置,则绘制模块可以绘制该控件被触发后显示的窗口。绘制窗口可以理解为绘制窗口中的元素,窗口中的元素包括但不限于为:窗口中显示的文字、图片、控件等。
在一种实施例中,绘制模块可以为CPU。
在一种实施例中,绘制模块可以调用用户界面线程(user interface thread,UIThread)的DoFrame函数绘制窗口。窗口绘制完成后,绘制模块可以通过跨进程调用机制binder调用渲染线程(Render Thread),唤醒render渲染进程。具体的,绘制模块可以通过刷新命令(Flush Commands)把所有的CPU的绘制指令传递给渲染模块,使得渲染模块可以基于CPU的绘制指令渲染绘制好的窗口。其中,CPU的绘制指令中可以包括绘制模块绘制好的窗口的数据。
在一种实施例中,绘制模块可以调用OpenGL ES3.1接口或Vulkan库函数接口绘制窗口,本申请实施例对绘制模块的绘制方式不做限制。
在一种实施例中,绘制模块还可以向WMS发送窗口在屏幕上的位置以及Z方向顺序。其中,WMS接收到窗口在屏幕上的位置以及Z方向顺序后,可以向Surface Flinger发送窗口在屏幕上的位置以及Z方向顺序,以使得Surface Flinger可以基于窗口在屏幕上的位置,以及Z方向顺序,合成图层。
S313,渲染模块渲染窗口。
在一种实施例中,渲染模块可以调用DEQUEUE_BUFFER开始渲染,渲染结束时会调用QUEUE_BUFFER,以完成渲染。
在一种实施例中,渲染模块可以为GPU。
S314,渲染模块响应于完成渲染窗口,将渲染后的窗口的数据传输至待合成的Frame Buffer队列中。
在一种实施例中,渲染模块完成渲染窗口,会将渲染后的窗口通过缓存区dequeueBuffer传输至Surface Flinger的待合成Frame Buffer队列。
S315,Surface Flinger从Frame Buffer队列中读取渲染后的窗口的数据,进行图层合成。
Surface Flinger响应于接收到图层合成SF-Vsync信号,可以通过RequireBuffer,以在Frame Buffer队列中读取渲染后的窗口的数据。Surface Flinger根据对渲染后的窗口的数据进行图层合成,即将多个图层合并为一帧图像。
在一种实施例中,Surface Flinger可以调用ACQUIRE_BUFFER开始进行图层合成,Surface Flinger可以调用RELEASE_BUFFER,以完成图层合成。
S316,Surface Flinger向LCD驱动发送合成后的图层。
在一种实施例中,Surface Flinger可以将合成后的图层存储在Surface Flinger的buffer中。LCD驱动响应于接收到显示Display-Vsync信号,可以通过移动产业处理器接口(mobile industry processor interface,MIPI),从Surface Flinger的buffer中获取合成后的图层。
或者,在一种实施例中,因为HWC辅助Surface Flinger进行图层合成,HWC也可以将合成后的图层发送至LCD驱动。
其中,LCD驱动在Surface Flinger的buffer中获取合成后的图层的频率与电子设备的刷新率相关。
S317,LCD驱动基于合成后的图层,控制LCD显示屏显示图像。
LCD驱动获取到合成后的图层,可以基于合成后的图层,显示图像。示例性的,如LCD驱动可以基于合成后的图层中每个像素Pixel对应的颜色值(灰度值),控制LCD显示屏中的每个像素的当前颜色值(灰度值)变为新的颜色值(灰度值),使得LCD显示屏显示图像。其中,新的颜色值(灰度值)为:合成后的图层中每个像素对应的颜色值(灰度值),下述实施例中以颜色值为例进行说明。
图3介绍了触控笔在电子设备上绘制笔迹的过程,电子设备绘制笔迹需要电子设备中的多个模块共同完成。
当模块的负载小时,模块执行上述图3中相应的操作的速度快、时间短,且若需要合成的图层数量少时,完成如上绘制笔迹的过程所用时长短,电子设备能够更快显示笔迹。如图5中的a,如用户握持触控笔在屏幕绘制笔迹至位置为B处时,因为电子设备能够更快,因此电子设备可以随着触控笔在屏幕上的位置的变化显示笔迹,如电子设备可以在显示笔迹至位置B处。
当模块的负载大,模块执行上述图3中相应的操作的速度慢、时间长,且若需要合成的图层数量多时,完成如上绘制笔迹的过程所用时长长,导致电子设备显示笔迹的时延长。如图5中的b,如用户握持触控笔在屏幕绘制笔迹至位置为B处时,因为电子设备显示笔迹的时延长,因此电子设备显示笔迹延迟较大,如电子设备显示笔迹至位置A处。
参照图5中的a和b,用户在绘制过程中,有时感觉绘制流畅,有时感觉绘制延迟,用户的绘制体验差。
为了使得每个模块稳定地(如在一定的时长内)完成相应的操作,进而使得电子设备可以稳定地显示笔迹,本申请实施例中可以为每个模块(或者多个模块的集合)执行操作的时长设置时长阈值,若检测到模块未在对应的时长阈值内完成操作,则电子设备可以在显示下一帧画面的过程中加快该模块的操作,或者加快后续模块的操作,以节省S301-S317的总时长,降低电子设备显示笔迹的时延。且因为每个模块执行操作的时长均处于对应的时长阈值内,因此电子设备可以稳定的显示笔迹,使得用户可以流畅地绘制笔迹,提高用户体验。
下述分析影响每个模块执行对应的操作的时长的因素,进而采取有效的方法,提高每个模块执行操作的速度,减小时延:
图6为本申请实施例提供的触控笔在电子设备上绘制笔迹的过程的另一示意图。参照图6,在如上图3的基础上,本申请实施例将触控笔在电子设备上绘制笔迹的过程可以分为如下六个阶段。应理解,本申请实施例对“触控笔在电子设备上绘制笔迹的过程”划分阶段的方式不做限制,下述实施例为示例说明。
第一阶段:driver阶段。
第一阶段可以包括如上S301-S307。在一种实施例中,可以将S301作为子阶段1,将S302-S307作为子阶段2。应理解,图6用数字表征子阶段,如“1”表征子阶段1,“2”表征子阶段2。
在第一阶段中,影响子阶段1的时长的因素可以包括:触摸IC芯片的TP采样率,以及触摸IC芯片的采样时长波动。
触摸IC芯片的TP采样率为:触摸IC芯片上报一次中断信号的频率。触摸IC芯片的TP采样率可以与触控笔的报点率相同。示例性的,屏幕的刷新率为60Hz,即屏幕每隔16.67ms显示一帧画面,触控笔的报点率为120Hz,则触摸IC芯片的TP采样率可以为120Hz,即触控笔可以在16.67ms内向电子设备发送两次信号,相应的,触摸IC芯片可以在16.67ms内采样两次来自触控笔的信号。触摸IC芯片采样到来自触控笔的信号后,可以读取TPsensor的容值数据,以上报两次触控事件。
其中,对于TP驱动上报一次触控事件来说,相同的刷新率的前提下,触控IC芯片的TP采样率越大,则触摸IC芯片检测一次触控笔的信号的时长越短,这样TP驱动读取TPsensor的容值数据的时刻越早,可以减少子阶段1的时长。
触摸IC芯片采样时长可以理解为:触摸IC芯片相邻两次检测触控笔的信号之间的时长。在电子设备开始显示一帧画面的垂直消隐区(vertical porch,V-Porch)的垂直后肩(vertical back porch,VBP)中,电子设备和触控笔可以约定,触控笔在什么时刻发送信号,以及相邻两次信号的间隔时长,相应的,电子设备也能够知道在什么时刻检测一次触控笔的信号,以及相邻两次检测的间隔时长。其中,相邻两次检测的间隔时长即为触摸IC芯片采样时长。
图7为本申请实施例提供的触摸IC芯片检测触摸信号的示意图。触摸信号可以包括:用户的手指的信号,以及触控笔的信号。图7中的a为采样时长不均匀的示例,图7中的b为采样时长均匀的示例。应理解,图7中的a和b,均以白色表征触摸IC芯片采集手指的信号,以黑色表征触摸IC芯片采集触控笔的信号。
参照图7中的a,电子设备和触控笔可以约定在一帧画面中先采集四次手指的信号,采集一次触控笔的信号(如时刻A),再采集三次手指的信号,再采集一次触控笔的信号(如时刻B),以及采集一次手指的信号。其中,触摸IC芯片在时刻A、时刻B,可以响应于检测到触控笔的信号,基于TP sensor的容值变化,向TP驱动发送中断信号。基于电子设备和触控笔的约定,从图7中的a中可以看出同一帧画面中,时刻A和时刻B相隔三坑间距,而在不同帧画面之间,如时刻B和时刻C相隔五坑间距,这样导致触摸IC芯片的采样时长不均匀。在图7中的a所示的示例中,若用户手持触控笔在时刻E接触屏幕,则触摸IC芯片需要相隔“时刻C-时刻E”的时长后检测到触控笔的信号,这样导致TP驱动接收到来自触摸IC芯片的中断信号的时刻较晚。
但若触摸IC芯片的采样时长均匀,则相较于上述触摸IC芯片的采样时长不均匀的方案,可以加快TP驱动接收到来自触摸IC芯片的中断信号。如图7中的b所示,电子设备和触控笔可以约定在一帧画面中先采集三次手指的信号,采集一次触控笔的信号(如时刻A1),再采集四次手指的信号,再采集一次触控笔的信号(时刻B1),以及采集一次手指的信号。在该种示例中,基于电子设备和触控笔的约定,从图7中的b中可以看出同一帧画面中,时刻A1和时刻B1相隔四坑间距,而在不同帧画面之间,如时刻B1和时刻C1也相隔四坑间距,触摸IC芯片的采样时长均匀。该种示例中,若用户手持触控笔在时刻E接触屏幕,则触摸IC芯片在相隔“时刻C1-时刻E”的时长后检测到触控笔的信号,相较于上述图7中的a中的“时刻C-时刻E”的时长,“时刻C1-时刻E”的时长短,因此触摸IC芯片的采样时长均匀可以加快TP驱动接收到来自触摸IC芯片的中断信号,可以减少子阶段1的时长。
在第一阶段中,影响子阶段2的时长的因素可以包括:SPI传输容值数据的速率、TP驱动的CPU资源信息。在一种实施例中,子阶段2可以称为第一子阶段。
因为TP驱动需要通过SPI读取TP sensor的容值数据,因此SPI传输容值数据的速率越快,则TP驱动能够越早读取完TP sensor的容值数据,减少子阶段2的时长。
CPU资源信息可以包括但不限于:线程优先级、CPU的频点、核数,以及CPU的架构。其中,TP驱动对应的线程优先级越高,则TP驱动能够越快读取TP sensor的容值数据。若TP驱动的CPU的频点越高,则TP驱动能够越快读取TP sensor的容值数据。若TP驱动的CPU的核数越大,则TP驱动能够越快读取TP sensor的容值数据。若TP驱动的CPU核数越大,则TP驱动能够越快读取TP sensor的容值数据。其中,TP驱动越快读取TP sensor的容值数据,可以减少子阶段2的时长。
CPU的架构可以包括但不限于为:A73架构、A75架构,以及A78架构等。对于具有多CPU的电子设备来说,可以选择不同的CPU架构,来提高TP驱动读取TP sensor的容值数据的速度,减少子阶段2的时长。
第二阶段:Input阶段。
第二阶段可以包括如上S308-S311。在一种实施例中,可以将S308-S309作为子阶段3,将S310作为子阶段4,将S311作为子阶段5。在一种实施例中,子阶段3可以称为第二子阶段。在一种实施例中,子阶段4可以称为第三子阶段。在一种实施例中,子阶段5可以称为第四子阶段。
在第二阶段中,影响子阶段3的时长的因素可以包括:Input Reader线程的CPU资源信息。影响子阶段4的时长的因素可以包括:Input Dispatcher线程的CPU资源信息。影响子阶段5的时长的因素可以包括:传输触控事件Delivery Input Event线程的CPU资源信息。其中,Input Reader线程的CPU资源信息、Input Dispatcher线程的CPU资源信息,以及Delivery Input Event线程的CPU资源信息可以参照上述TP驱动的CPU资源信息的相关描述。
第三阶段:绘制阶段。
第三阶段可以包括如上S312。在一种实施例中,可以将S312作为子阶段6。在一种实施例中,子阶段6可以称为渲染阶段。
在第三阶段中,影响子阶段6的时长的因素可以包括:帧绘制模式、用户界面UI线程的CPU资源信息、App-Vsync offset,以及电子设备的刷新率。
UI线程的CPU资源信息可以参照上述TP驱动的CPU资源信息的相关描述。
帧绘制模式包括:单帧模式和多帧模式。其中,单帧模式指的是:子阶段6、子阶段7、子阶段8和子阶段9在一帧画面(画面的刷新周期)完成,子阶段7、子阶段8和子阶段9可以参照下述的相关描述。示例性的,电子设备的刷新率为60Hz,单帧模式为需要在一帧画面16.67ms内完成子阶段6、子阶段7、子阶段8和子阶段9,即一帧画面完成绘制、渲染、图层合成和显示。
多帧模式指的是:子阶段6和子阶段7在一帧画面完成,子阶段8和子阶段9在下一帧画面完成。示例性的,电子设备的刷新率为60Hz,则多帧模式为需要在一帧画面16.67ms内完成子阶段6和子阶段7,以及在下一帧画面16.67ms内完成子阶段8和子阶段9,即一帧时间内完成绘制和渲染,在下一帧内完成图层合成和显示。
单帧模式相较于多帧模式所用的时长短,可以减少子阶段6的时长。
下述引入图8,对App-Vsync offset进行说明:
图8为本申请实施例提供的一种信号示意图。应理解,图8中以单帧模式为例进行说明,参照图8,在电子设备开始显示一帧画面的垂直前肩(vertical front porch,VFP)区间内,显示IC芯片可以向LCD驱动、应用程序和Surface Flinger发送帧同步信号(verticalsync,VSYNC),VSYNC表示扫描1帧的开始,一帧也就是LCD显示的一帧画面。帧同步信号Vsync用于指示LCD驱动接收到Display-Vsync时,从Surface Flinger的buffer中读取合成后的图层,以显示画面。帧同步信号Vsync用于指示应用程序中的绘制模块接收到APP-Vsync时,开始进行窗口绘制。帧同步信号Vsync还用于指示Surface Flinger接收到SF-Vsync时,开始进行图层合成。
绘制模块接收到APP-Vsync时,可以间隔APP-Vsync offset后开始绘制窗口。相应的,Surface Flinger接收到SF-Vsync时,可以间隔SF-Vsync offset后开始进行图层合成。图8中示出了驱动信号Vsync,以及APP-Vsync offset和SF-Vsync offset。也即是说,App-Vsync offset指的是:绘制模块接收到App-Vsync至开始绘制的时长。SF-Vsync offset指的是:Surface Flinger接收到SF-Vsync至开始图层合成的时长。
其中,App-Vsync offset越小,则绘制模块能够更快速的开始绘制,可以减少绘制窗口的时长,减少子阶段6的时长。
另外,电子设备的刷新率越高,则允许绘制模块进行绘制窗口的时长越短,绘制模块可以在较短的时间内完成窗口绘制,减少子阶段6的时长。
第四阶段:渲染阶段。
第四阶段可以包括如上S313-S314。在一种实施例中,可以将S313-S314作为子阶段7。在一种实施例中,子阶段7可以称为渲染阶段。
在第四阶段中,影响子阶段7的时长的因素可以包括:渲染模块的线程的CPU资源信息、渲染模块的线程的GPU的资源信息,以及电子设备的刷新率。
渲染模块的线程的CPU资源信息可以参照TP驱动的CPU资源信息的相关描述。
GPU的资源信息可以包括:GPU的核数,以及GPU的架构。其中,GPU的核数越大,则渲染模块的渲染速度越快。对于具有多GPU的电子设备来说,可以选择不同的GPU架构,来提高渲染模块的渲染速度,可以减少子阶段7的时长。
电子设备的刷新率越高,则允许渲染模块进行渲染的时长越短,渲染模块可以在较短的时间内完成渲染,减少子阶段7的时长。
第五阶段:图层合成阶段。
第五阶段可以包括如上S315-S316。在一种实施例中,可以将S315-S316作为子阶段8。在一种实施例中,子阶段8可以称为图层合成阶段。
在第五阶段中,影响子阶段8的时长的因素可以包括:Surface Flinger的CPU资源信息、Surface Flinger的GPU资源信息、HWC模块对数字信号处理器(digital signalprocess,DSP)的调度频率,DDR的频率,以及电子设备的刷新率。
Surface Flinger的CPU资源信息可以参照TP驱动的CPU资源信息的相关描述。Surface Flinger的GPU资源信息可以参照渲染模块的线程的GPU的资源信息的相关描述。
HWC模块对DSP的调度频率越高,则Surface Flinger的图层合成速度越快,可以减少子阶段8的时长。
在一种实施例中,Surface Flinger可以将合成后的图层存储在DDR中,DDR的频率越高,则存储速度越快,也可以减少子阶段8的时长。
电子设备的刷新率越高,则允许Surface Flinger进行图层合成的时长越短,Surface Flinger可以在较短的时间内完成图层合成,减少子阶段8的时长。
第六阶段:显示阶段。
第六阶段可以包括如上S317。在一种实施例中,可以将S317作为子阶段9。
在第六阶段中,影响子阶段9的时长的因素可以包括:是否开启强制液晶偏转(over driver,OD)功能,以及像素的当前颜色值与新的颜色值之间的色差。
其中,OD功能为开启状态(即Enable)时,LCD驱动LCD显示屏显示画面的速度加快,可以减少子阶段9的时长。
在具有薄膜晶体管(thin film transistor,TFT)的屏幕中,像素的当前颜色值与新的颜色值之间的色差越大,则为该像素对应的TFT所加的电压越大,则显示速度越快,可以减少子阶段9的时长。应理解,LCD显示屏中的像素的色差可以为:LCD显示屏中的每个像素的色差的平均值。
如上讲述了触控笔在电子设备上绘制笔迹的多个阶段中,影响每个子阶段的时长的因素,因此本申请实施例中可以预先设置每个子阶段的时长阈值,进而在触控笔绘制过程中,检测每个子阶段的时长是否小于或等于对应的时长阈值。
若每个子阶段的时长均小于或等于对应的时长阈值,则用户可以采用触控笔流畅地进行绘制。若存在有子阶段的时长大于对应的时长阈值,则会造成绘制延迟,如图5中的b所示。本申请实施例中,若检测到有子阶段的时长大于对应的时长阈值,则可以在下一帧画面中加快该子阶段的操作,以减少该子阶段的时长,以减少显示画面的总时长,提高用户体验。或者,若检测到有子阶段的时长大于对应的时长阈值,则可以加快后续子阶段的操作,以减少该子阶段的时长,也能够减少显示画面的总时长,提高用户体验。
应注意的是,每个子阶段的时长阈值是开发人员的经验值。其中,单帧模式下各子阶段的时长阈值,与多帧模式下各子阶段的时长阈值可以相同或不同。
在介绍本申请实施例提供的绘制方法之前,首先对本申请实施例提供的电子设备的结构进行介绍:
图9为本申请实施例提供的电子设备的另一结构示意图。相较于上述图2,本申请实施例中,可以在电子设备的应用程序框架层中增加设置跟手响应时延监控模块,以及在内核层中增加设置资源调度模块。跟手响应时延监控模块可以参照下述实施例的相关描述,资源调度模块用于对CPU资源、DDR进行调度,可以参照下述实施例的相关描述。应理解,图9中未示出跟手响应时延监控模块与其他模块的连接,图9中虚线表征电子设备对各子阶段的时长的调整步骤,图9中示出了部分调整步骤,其他可以参照实施例中的相关描述。
本申请实施例中,因为电子设备需要监测每个子阶段的时长,因此各模块在完成对应的操作后,可以将该子阶段的时长发送给跟手响应时延监控模块,跟手响应时延监控模块可以基于子阶段的时长与子阶段的时长阈值,执行相应的操作,跟手响应时延监控模块执行的操作可以参照图11和图12中的相关描述。
这里先介绍各子阶段中各模块与跟手响应时延监控模块的交互过程:
在子阶段2中,TP驱动可以记录接收到来自触摸IC芯片的中断信号的时刻t1,以及记录TP驱动读取完TP sensor的容值数据的时刻t2。
触控容值处理模块可以记录开始从TP驱动中读取TP sensor的容值数据的时刻t3,记录确定“靠近屏幕的是触控笔还是用户的手指,以及确定在屏幕上的位置”的时刻t4。
触控事件的时间戳计时器Time Stamp可以记录TP驱动将触控事件写入EventHub队列的时刻t5。
其中,t5-t1为子阶段2的时长。在一种实施例中,子阶段2的时长可以称为第一时长,t1可以称为第一时刻,t5可以称为第二时刻。
在一种实施例中,TP驱动将触控事件写入EventHub队列时,TP驱动可以将“t5-t1”的时长发送给跟手响应时延监控模块。
在一种实施例中,当TP驱动读取完TP sensor的容值数据时,TP驱动可以将“t2-t1”的时长发送给跟手响应时延监控模块。当触控容值处理模块开始从TP驱动中读取TPsensor的容值数据时,触控容值处理模块可以将“t3-t2”的时长发送给跟手响应时延监控模块。当触控容值处理模块“靠近屏幕的是触控笔还是用户的手指,以及确定在屏幕上的位置”时,触控容值处理模块可以将“t4-t3”的时长发送给跟手响应时延监控模块。当TP驱动将触控事件写入EventHub队列时,TP驱动可以将“t5-t4”的时长发送给跟手响应时延监控模块。
应理解,具体是发送“t5-t1”的时长,还是发送“t2-t1”的时长、“t3-t2”的时长、“t4-t3”的时长和“t5-t4”的时长,可以预先设置。应理解的是,发送的时长越多,则跟手响应时延监控模块的处理精度越高。
在一种实施例中,TP驱动、触控容值处理模块可以向跟手响应时延监控模块发送时刻,由跟手响应时延监控模块基于时刻计算出每个子阶段的时长,或者每个子阶段中不同的步骤的时长。
示例性的,当TP驱动接收到来自触摸IC芯片的中断信号时,可以将时刻t1发送给跟手响应时延监控模块,当TP驱动将触控事件写入EventHub队列时,TP驱动可以将时刻t5发送给跟手响应时延监控模块,跟手响应时延监控模块可以根据时刻t1和时刻t5,计算出子阶段2的时长“t5-t1”。应理解,在该种实施例中,为了使得跟手响应时延监控模块明确接收到的时刻是什么时刻,还可以增加每个时刻的标识,如“TP写入”标识可以表征该时刻为TP驱动将触控事件写入EventHub队列的时刻。
示例性的,当TP驱动接收到来自触摸IC芯片的中断信号时,可以将时刻t1发送给跟手响应时延监控模块,当TP驱动读取完TP sensor的容值数据时,TP驱动可以将时刻t2发送给跟手响应时延监控模块,跟手响应时延监控模块可以根据时刻t1和时刻t2,计算出TP驱动读取TP sensor的容值数据的时长“t2-t1”,其他时刻t3、时刻t4和时刻t5也同理。
如此,跟手响应时延监控模块可以获取第一阶段的时长,或者第一阶段中每个子阶段的时长,或者可以获取每个子阶段中不同的步骤的时长。
在子阶段3中,Input Reader可以记录Input Reader从EventHub队列中读取到触控事件的时刻t6。在一种实施例中,t6可以称为第三时刻。
在子阶段4中,Input Dispatcher可以记录Input Dispatcher向WMS发送触控事件的时刻t7。在一种实施例中,t7可以称为第四时刻。
在子阶段5中,WMS可以记录向应用程序开始发送触控事件的时刻t8,以及发送完成的时刻t9。在一种实施例中,t8可以称为第五时刻,t9可以称为第六时刻。
其中,t6-t5为子阶段3的时长、t7-t6为子阶段4的时长,以及t9-t8为子阶段5的时长。在一种实施例中,子阶段3的时长可以称为第二时长。在一种实施例中,子阶段4的时长可以称为第三时长。在一种实施例中,子阶段5的时长可以称为第四时长。
在一种实施例中,因为Input Reader可以获取触控事件中的触控时刻t5,因此当Input Reader从EventHub队列中读取到触控事件时,Input Reader可以将“t6-t5”的时长发送给跟手响应时延监控模块。Input Dispatcher从Input Reader获取触控事件的时刻可以为t6,当Input Dispatcher向WMS发送触控事件时,Input Dispatcher可以将“t7-t6”的时长发送给跟手响应时延监控模块。当WMS完成向应用程序发送触控事件时,WMS可以将“t9-t8”的时长发送给跟手响应时延监控模块。
在一种实施例中,Input Reader、Input Dispatcher,以及WMS也可以将各自获取的时刻发送至跟手响应时延监控模块,以使跟手响应时延监控模块能够计算出子阶段3的时长、子阶段4的时长,以及子阶段5的时长,可以参照上述第一阶段的描述。
在子阶段6中,绘制模块可以记录接收到来自WMS的触控事件的时刻为t9,记录窗口绘制完成的时刻为t10。在一种实施例中,t10可以称为第七时刻。
其中,t10-t9为子阶段6的时长。
在一种实施例中,绘制模块完成窗口绘制时,可以将“t10-t9”的时长发送给跟手响应时延监控模块。
在一种实施例中,因为绘制模块绘制窗口的过程中可以包括measure步骤、layout步骤,以及draw步骤,绘制模块还可以分别记录measure步骤的时长、layout步骤的时长,以及draw步骤的时长。在该实施例中,绘制模块完成窗口绘制时,可以将measure步骤的时长、layout步骤的时长,以及draw步骤的时长发送给跟手响应时延监控模块。
在一种实施例中,绘制模块也可以将窗口绘制完成的时刻t10发送至跟手响应时延监控模块,以使跟手响应时延监控模块根据时刻t9和时刻t10能够计算出子阶段6的时长。
在子阶段7中,因为绘制模块绘制玩窗口后,渲染模块即开始渲染窗口,因此渲染模块可以记录调用DEQUEUE_BUFFER的时刻,即开始渲染的时刻为t10。渲染模块可以记录调用QUEUE_BUFFER的时刻,即结束渲染的时刻t11。在一种实施例中,t11可以称为第八时刻。
其中,t11-t10为子阶段7的时长。
在一种实施例中,渲染模块结束渲染后,可以将“t11-t10”的时长发送给跟手响应时延监控模块。
在一种实施例中,渲染模块也可以结束渲染的时刻t11发送至跟手响应时延监控模块,以使跟手响应时延监控模块能够根据时刻t10和时刻t11计算出子阶段7的时长。
在子阶段8中,Surface Flinger可以记录调用ACQUIRE_BUFFER的时刻,即开始图层合成的时刻为t12,以及调用QUEUE_BUFFER的时刻,即完成图层合成的时刻t13。在一种实施例中,t12可以称为第九时刻,t13可以称为第十时刻。
其中,t13-t12为子阶段8的时长。
在一种实施例中,Surface Flinger完成图层合成后,可以将“t13-t12”的时长发送给跟手响应时延监控模块。
在一种实施例中,渲染模块也可以将时刻t12、时刻t13发送至跟手响应时延监控模块,以使跟手响应时延监控模块能够根据时刻t12和时刻t13计算出子阶段8的时长。
在子阶段9中,LCD驱动可以记录获取合成后的图层的时刻为t14。
其中,t14-t13为子阶段9的时长,该子阶段9的时长也可以称为显示时延时长。
在具有薄膜晶体管的屏幕中,子阶段9的时长还可以加上屏幕中的像素灰度至灰度(Grey To Grey,GTG)的响应时长offset,响应时长offset可以理解为像素对应TFT的充电或放电时长。应理解,像素从当前颜色值变成新的颜色值的响应时长offset(或理解为充电或放电时长),与当前颜色值和新的颜色值的差值相关。差值越大,响应时长越长。
在一种实施例中,LCD驱动获取合成后的图层后可以将时刻t14发送至跟手响应时延监控模块,以使跟手响应时延监控模块能够根据时刻t14和时刻t13计算出子阶段9的时长。
综上,本申请实施例中划分的六个阶段可以参照如下表一所示:
表一
阶段 | 时长 | 子阶段 |
第一阶段 | T1 | 子阶段1、子阶段2 |
第二阶段 | T2 | 子阶段3、子阶段4、子阶段5 |
第三阶段 | T3 | 子阶段6 |
第四阶段 | T4 | 子阶段7 |
第五阶段 | T5 | 子阶段8 |
第六阶段 | T6 | 子阶段9 |
应理解,如上表一中各阶段的时长可以为各阶段中包括的子阶段的时长的加和。
下面结合具体的实施例对本申请实施例提供的绘制方法进行说明。下面这几个实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
在一种实施例中,用户可以操作电子设备,关闭或者打开电子设备的稳定触控时延的功能。当用户打开该稳定触控时延的功能时,电子设备可以执行如下图11或图12中的操作,使得电子设备可以稳定、流畅地显示笔迹。当用户关闭该稳定触控时延的功能时,电子设备可以不执行如下图11或图12中的操作。其中,在一种实施例中,参照图10,电子设备的设置界面中可以包括:稳定触控时延的控件1001。用户操作该稳定触控时延的控件1001,可以打开或者关闭电子设备的稳定触控时延的功能。
在一种实施例中,稳定触控时延的控件1001默认为打开状态,如图10所示。如下实施例中讲述的为稳定触控时延的控件1001为打开状态,即电子设备开启稳定触控时延的功能的实施例。
在一种实施例中,电子设备的设置界面中还可以包括:触控时延调度的方式选择框1002。在该选择框1002中显示有用户可以选择的帧间调整方式、帧内调整方式,以及“取消”控件。应理解,在用户稳定触控时延的控件1001处于打开状态时,用户可以选择选择框1002中的触控时延调度的方式。当用户稳定触控时延的控件1001处于关闭状态时,用户不能选择选择框1002中的触控时延调度的方式。
若用户选择帧间调整方式,则电子设备可以执行S1103A,以在绘制第二帧画面的过程中减少时延。若用户选择帧内调整方式,则电子设备可以执行S1103,以在绘制同一帧画面的过程中减少时延。其中,帧间调整方式、帧内调整方式可以参照下述实施例中的相关描述。
图11为本申请实施例提供的绘制方法的一种实施例的流程示意图。参照图11,本申请实施例提供的绘制方法可以包括:
S1101,跟手响应时延监控模块获取第一子阶段的时长。
第一子阶段可以为如上“子阶段1至子阶段9”中的任一子阶段。跟手响应时延监控模块获取第一子阶段的时长的方式可以参照“各子阶段中各模块与跟手响应时延监控模块的交互过程”。
S1102,跟手响应时延监控模块检测第一子阶段的时长是否小于或等于第一子阶段的时长阈值;若否,则执行S1103,若是,则不响应。
跟手响应时延监控模块中存储有每个子阶段的时长阈值,跟手响应时延监控模块可以查询第一子阶段的时长阈值,以检测第一子阶段的时长是否小于或等于第一子阶段的时长阈值。
在一种实施例中,S1102之前还可以包括S1104:跟手响应时延监控模块检测帧绘制模式为单帧模式还是多帧模式,以获取帧绘制模式下第一子阶段的时长阈值。如帧绘制模式为单帧模式,则跟手响应时延监控模块获取帧绘制模式下第一子阶段的时长阈值,进而检测第一子阶段的时长是否小于或等于单帧模式下第一子阶段的时长阈值。
S1103,跟手响应时延监控模块加快执行第二子阶段,第二子阶段晚于第一子阶段。
当第一子阶段的时长大于第一子阶段的时长阈值时,表明电子设备执行完第一子阶段花费了较长时间,因此可以加快执行第一子阶段后续的第二子阶段,以减少第二子阶段的时长,进而减少第一阶段至第六阶段的总时长。在一种实施例中,当第一子阶段的时长大于第一子阶段的时长阈值时,可以将第一子阶段称为目标阶段。
在一种实施例中,跟手响应时延监控模块加快执行晚于第一子阶段的所有第二子阶段。
其中,跟手响应时延监控模块加快执行第二子阶段时,可以调整影响第二子阶段的时长的至少一个因素。影响第二子阶段的时长的因素可以参照上述实施例中相关描述。
示例性的,第一子阶段为子阶段2,当子阶段2的时长大于子阶段2的时长阈值时,跟手响应时延监控模块可以加快执行子阶段3至子阶段9。示例性的,以跟手响应时延监控模块加快执行子阶段3为例,如跟手响应时延监控模块可以向TP驱动发送指示提高SPI传输容值数据的速率的消息(如可以称为第一消息),TP驱动响应于接收到该消息,可以对SPI进行参数配置,以提高SPI传输容值数据的速率,以提高执行子阶段3的速度。或者,跟手响应时延监控模块可以向资源调度模块发送指示提高TP驱动的CPU资源的消息(第二消息),资源调度模块响应于接收到该消息,可以执行如下至少一个操作:提高TP驱动对应的线程优先级,提高TP驱动的CPU的频点、加大TP驱动的CPU的核数,或者调整TP驱动的CPU的架构,均可以提高执行子阶段3的速度。
示例性的,第一子阶段为子阶段5,当子阶段5的时长大于子阶段5的时长阈值时,跟手响应时延监控模块可以加快执行子阶段6至子阶段9。示例性的,以跟手响应时延监控模块加快执行子阶段6为例,如跟手响应时延监控模块可以将帧绘制模式从多帧模式切换至单帧模式,示例性的,跟手响应时延监控模块可以向绘制模块、渲染模块,以及图层合成模块发送指示消息,以指示绘制模块、渲染模块,以及图层合成模在一帧画面中完成子阶段6、子阶段7、子阶段8和子阶段9。若电子设备采用的帧绘制模式就是单帧模式,则跟手响应时延监控模块还可以向资源调度模块发送指示提高UI线程的CPU资源的消息(第七消息),资源调度模块响应于接收到该消息,可以执行如下至少一个操作:提高UI线程的优先级,提高UI线程的CPU的频点、加大UI线程的CPU的核数,或者调整UI线程的CPU的架构,均可以提高执行子阶段6的速度。跟手响应时延监控模块还可以向绘制模块发送指示减小App-Vsyncoffset的消息(第六消息),使得绘制模块接收到App-Vsync后,快速进行窗口绘制,也能够提高执行子阶段6的速度。另外,跟手响应时延监控模块还可以向控制电子设备的刷新率的模块发送指示提高刷新率的消息,使得提高电子设备的刷新率,以提高执行子阶段6的速度。
在一种实施例中,跟手响应时延监控模块可以基于第一子阶段的时长超出第一子阶段的时长阈值的第一时长,确定加速哪几个第二子阶段,无需将每个第二子阶段均加速执行。
示例性的,如第一子阶段之后相邻的为第一个第二子阶段,则跟手响应时延监控模块可以加速执行第一个第二子阶段。跟手响应时延监控模块可以获取第一个第二子阶段的时长,进而获取第一个第二子阶段的时长少于第一个第二子阶段的时长阈值的第二时长是否大于或者等于第一时长。若第二时长大于或等于第一时长,则跟手响应时延监控模块确定第一个第二子阶段已经弥补了第一子阶段超出了时长,则无需加速后续的子阶段。若第二时长小于第一时长,则跟手响应时延监控模块确定第一个第二子阶段不能弥补第一子阶段超出了时长,则继续加速执行第二个第二子阶段。
跟手响应时延监控模块可以获取第二个第二子阶段的时长,进而获取第一个第二子阶段的时长少于第一个第二子阶段的时长阈值的第三时长,以检测“第二时长和第三时长的加和”是否大于或者等于第一时长。若“第二时长和第三时长的加和”大于或等于第一时长,则跟手响应时延监控模块确定第一个第二子阶段和第二个第二子阶段已经弥补了第一子阶段超出了时长,则无需加速后续的子阶段。若“第二时长和第三时长的加和”仍小于第一时长,则跟手响应时延监控模块确定第一个第二子阶段和第二个第二子阶段不能弥补第一子阶段超出了时长,则继续加速执行第三个第二子阶段。依次类推,直至前i个第二子阶段少于对应时长阈值的时长的加和大于或等于第一时长,不在加速后续的子阶段。
示例性的,第一子阶段为子阶段2,子阶段2的时长大于子阶段2的时长阈值,子阶段2的时长超出子阶段2的时长阈值为第一时长。跟手响应时延监控模块可以加快执行子阶段3,可以参照上述的相关描述。子阶段3的时长小于子阶段3的时长阈值的第二时长大于或等于第一时长,则跟手响应时延监控模块无需加速执行子阶段4,若第二时长小于第一时长,则跟手响应时延监控模块继续加速执行子阶段4,以此类推。
S1103中讲述了跟手响应时延监控模块响应于检测到第一子阶段的时长大于第一子阶段的时长阈值,可以加速第一子阶段后续的第二子阶段,来减少第一阶段至第六阶段的总时长。在一种实施例中,为了使得用户具有更好的绘制体验,跟手响应时延监控模块响应于检测到第一子阶段的时长大于第一子阶段的时长阈值,可以在下一帧画面的时间内,加速执行该第一子阶段,也能够减少下一帧画面时第一阶段至第六阶段的总时长。
在一种实施例中,跟手响应时延监控模块可以先检测第一子阶段之后是否还存在待执行的阶段,若存在,则跟手响应时延监控模块可以执行S1103。若不存在,则跟手响应时延监控模块可以执行S1103A,S1103A可以参照下述的相关描述。
在该实施例中,参照图12,S1101-S1104可以替换为S1101A-S1104A:
S1101A,在绘制第一帧画面的过程中,跟手响应时延监控模块获取第一子阶段的时长。
第一帧画面为电子设备绘制的任一帧画面。
第一子阶段包括:如上子阶段1至子阶段9。在一种实施例中,S1101A可以替换为:在绘制第一帧画面的过程中,跟手响应时延监控模块获取每个子阶段的时长。本申请实施例中以第一子阶段为例进行说明。
S1102A,跟手响应时延监控模块检测第一子阶段的时长是否小于或等于第一子阶段的时长阈值;若否,则执行S1103A,若是,则不响应。
在一种实施例中,S1101A可以替换为:跟手响应时延监控模块检测每个子阶段的时长是否小于或等于对应的时长阈值;若否,则执行S1103A,若是,则不响应。
在一种实施例中,S1102A之前还可以包括S1104A:跟手响应时延监控模块检测帧绘制模式为单帧模式还是多帧模式,以获取帧绘制模式第一子阶段的时长阈值,可以参照上述S1104的描述。
S1103A,在绘制第二帧画面的过程中,跟手响应时延监控模块加快执行第一子阶段。
第二帧画面为第一帧画面的下一帧画面,在绘制第二帧画面的过程中,跟手响应时延监控模块可以加快执行第一子阶段。
在一种实施例中,跟手响应时延监控模块加快第一子阶段的方式可以为:跟手响应时延监控模块可以调整影响第二子阶段的时长的至少一个因素,以加快第一子阶段。影响第二子阶段的时长的因素可以参照上述实施例中相关描述。
本申请实施例中,可以预先设置电子设备绘制笔迹的各子阶段的时长阈值,且实时检测执行各子阶段的时长,进而在检测到有子阶段的时长大于对应的时长阈值,在下一帧画面中加快该子阶段的操作,或者可以加快后续子阶段的操作,均能够减少电子设备绘制笔迹的总时长,提高用户体验。
在一种实施例中,针对电子设备来说,参照图13,本申请实施例提供的绘制方法可以包括:
S1301,响应于检测到用户接触电子设备的屏幕,获取电子设备显示一帧画面之前执行各阶段的时长,各阶段包括:触控事件传输阶段、画面的绘制阶段、渲染阶段和图层合成阶段。
S1301可以参照S1101中的相关描述。
S1302,检测各阶段中是否存在目标阶段,其中,执行目标阶段的时长大于目标阶段的时长阈值。若是,执行S1303,若否,不响应。
其中,电子设备执行目标阶段时的时长大于目标阶段的时长阈值。应理解,目标子阶段可以参照如上时长大于第一子阶段的时长的“第一子阶段”的描述。S1302可以参照S1102中的相关描述。
S1303,执行减少时长的操作,以减少执行各阶段的时长。
S1303可以参照S1103和S1103A中的描述。
本申请实施例具备与上述实施例相同的技术效果,可以参照上述实施例中的相关描述。
在一种实施例中,参照图14,本申请实施例还提供一种电子设备,该电子设备可以为上述实施例中所述的电子设备,该电子设备中可以包括:处理器1401(例如CPU)、存储器1402。存储器1402可能包含高速随机存取存储器(random-access memory,RAM),也可能还包括非易失性存储器(non-volatile memory,NVM),例如至少一个磁盘存储器,存储器1402中可以存储各种指令,以用于完成各种处理功能以及实现本申请的方法步骤。
可选的,本申请涉及的电子设备还可以包括:电源1403、通信总线1404以及通信端口1405。上述通信端口1405用于实现电子设备与其他外设之间进行连接通信。在本申请实施例中,存储器1402用于存储计算机可执行程序代码,程序代码包括指令;当处理器1401执行指令时,指令使电子设备的处理器1401执行上述方法实施例中的动作,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,上述实施例中所述的模块或部件可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个专用集成电路(application specificintegrated circuit,ASIC),或,一个或多个微处理器(digital signal processor,DSP),或,一个或者多个现场可编程门阵列(field programmable gate array,FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,CPU)或其它可以调用程序代码的处理器如控制器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,SOC)的形式实现。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本文中的术语“多个”是指两个或两个以上。本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
可以理解的是,在本申请的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本申请的实施例的范围。
可以理解的是,在本申请的实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请的实施例的实施过程构成任何限定。
Claims (26)
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.根据权利要求5-13中任一项所述的方法,其特征在于,所述TP驱动与所述触摸IC芯片通过串行外设接口SPI连接,所述TP驱动根据所述屏幕的容值数据,得到所述触控事件之前,还包括:
所述TP驱动响应于所述中断信号,通过所述SPI读取所述容值数据;
所述目标阶段为所述第一子阶段,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块向所述TP驱动发送第一消息,所述第一消息用于指示提高所述SPI传输所述容值数据的速度;
所述TP驱动响应于所述第一消息,对所述SPI进行参数配置,以提高所述SPI传输所述容值数据的速度。
15.根据权利要求14所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述执行减少时长的操作,还包括:
所述跟手响应时延监控模块向所述资源调度模块发送第二消息,所述第二消息用于指示提高对所述TP驱动的中央处理器CPU资源配置;
所述资源调度模块响应于所述第二消息,执行提高所述TP驱动的中央处理器CPU资源配置的操作。
16.根据权利要求5-13中任一项所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述目标阶段为所述第二子阶段,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块向所述资源调度模块发送第三消息,所述第三消息用于指示提高对所述输入事件读取模块的CPU资源配置;
所述资源调度模块响应于所述第三消息,执行提高所述输入事件读取模块的CPU资源配置的操作。
17.根据权利要求5-13中任一项所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述目标阶段为所述第三子阶段,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块向所述资源调度模块发送第四消息,所述第四消息用于指示提高对所述输入事件分发模块的CPU资源配置;
所述资源调度模块响应于所述第四消息,执行提高所述输入事件分发模块的CPU资源配置的操作。
18.根据权利要求5-13中任一项所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述目标阶段为所述第四子阶段,所述第四子阶段中所述WMS调用传输触控事件线程向所述应用程序发送所述触控事件,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块向所述资源调度模块发送第五消息,所述第五消息用于指示提高对所述传输触控事件线程的CPU资源配置;
所述资源调度模块响应于所述第五消息,执行提高所述传输触控事件线程的CPU资源配置的操作。
19.根据权利要求5-13中任一项所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述目标阶段为所述绘制阶段,所述绘制模块调用用户界面UI线程绘制窗口,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块将帧绘制模式从多帧绘制调整至单帧绘制;和/或,
所述跟手响应时延监控模块提高所述电子设备的刷新率;和/或,
所述跟手响应时延监控模块向所述绘制模块发送第六消息,所述第六消息用于指示所述绘制模块减小绘制等待时长,所述绘制等待时长为所述绘制模块从接收到绘制指令至开始绘制窗口的时长;
所述绘制模块响应于所述第六消息,减小所述绘制等待时长;和/或,
所述跟手响应时延监控模块向所述资源调度模块发送第七消息,所述第七消息用于指示提高对所述UI线程的CPU资源配置;
所述资源调度模块响应于所述第七消息,执行提高所述UI线程的CPU资源配置的操作。
20.根据权利要求5-13中任一项所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述目标阶段为所述渲染阶段,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块提高所述电子设备的刷新率;和/或,
所述跟手响应时延监控模块向所述资源调度模块发送第八消息,所述第八消息用于指示提高对所述渲染模块的CPU资源配置,以及所述渲染模块的图形处理器GPU资源配置;
所述资源调度模块响应于所述第八消息,执行提高所述渲染模块的CPU资源配置的操作,以及执行提高所述渲染模块的图形处理器GPU资源配置的操作。
21.根据权利要求5-13中任一项所述的方法,其特征在于,所述电子设备还包括:资源调度模块,所述目标阶段为所述图层合成阶段,所述执行减少时长的操作,包括:
所述跟手响应时延监控模块提高所述电子设备的刷新率;和/或,
所述跟手响应时延监控模块向所述资源调度模块发送第九消息,所述第九消息用于指示提高对所述图层合成模块的CPU资源配置,以及所述图层合成模块的GPU资源配置;
所述资源调度模块响应于所述第九消息,执行提高所述图层合成模块的CPU资源配置的操作,以及执行提高所述图层合成模块的图形处理器GPU资源配置的操作。
22.根据权利要求21所述的方法,其特征在于,所述电子设备还包括:HWC、存储器DDR,以及显示驱动,所述HWC调度数字信号处理器以辅助所述图层合成模块执行图层合成,所述图层合成模块将合成的图层存储于所述DDR中,以用于所述显示驱动从所述DDR中读取合成的图层进行显示;
所述执行减少时长的操作,还包括:
所述跟手响应时延监控模块提高所述HWC调度所述数字信号处理器的频率;和/或,
所述跟手响应时延监控模块提高所述DDR的频率。
23.根据权利要求15所述的方法,其特征在于,所述执行提高所述TP驱动的中央处理器CPU资源配置的操作,包括:
所述资源调度模块执行如下至少一个操作:提高所述TP驱动对应的线程的优先级,增大所述TP驱动对应的线程使用的CPU的频点,增加所述TP驱动对应的线程使用的CPU的核数,切换所述TP驱动对应的线程使用的CPU的架构。
24.根据权利要求20所述的方法,其特征在于,所述执行提高所述渲染模块的图形处理器GPU资源配置的操作,包括:
所述资源调度模块执行如下至少一个操作:增加所述渲染模块对应的线程使用的GPU的核数,切换所述渲染模块对应的线程使用的GPU的架构。
25.一种电子设备,其特征在于,包括:处理器和存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1-24中任一项所述的方法。
26.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序或指令,当所述计算机程序或指令被运行时,实现如权利要求1-24中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410179242.5A CN118151786A (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
CN202111604587.3A CN115639920B (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111604587.3A CN115639920B (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410179242.5A Division CN118151786A (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115639920A CN115639920A (zh) | 2023-01-24 |
CN115639920B true CN115639920B (zh) | 2023-12-22 |
Family
ID=84939357
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111604587.3A Active CN115639920B (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
CN202410179242.5A Pending CN118151786A (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410179242.5A Pending CN118151786A (zh) | 2021-12-24 | 2021-12-24 | 绘制方法、电子设备和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN115639920B (zh) |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677107A (zh) * | 2016-01-11 | 2016-06-15 | 福州瑞芯微电子股份有限公司 | 屏幕手写跟随性的优化方法及系统 |
CN107102936A (zh) * | 2017-05-27 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种流畅度的评估方法和移动终端以及存储介质 |
CN107391021A (zh) * | 2017-07-28 | 2017-11-24 | 广东欧珀移动通信有限公司 | 黑屏手势的识别方法、装置、存储介质及移动终端 |
CN109460364A (zh) * | 2018-11-14 | 2019-03-12 | Oppo广东移动通信有限公司 | 应用程序检测方法、装置、存储介质及移动终端 |
CN110018759A (zh) * | 2019-04-10 | 2019-07-16 | Oppo广东移动通信有限公司 | 界面显示方法、装置、终端及存储介质 |
CN110362353A (zh) * | 2019-07-04 | 2019-10-22 | Oppo广东移动通信有限公司 | 外设控制方法、外设控制装置、存储介质与电子设备 |
CN110489228A (zh) * | 2019-07-16 | 2019-11-22 | 华为技术有限公司 | 一种资源调度的方法和电子设备 |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
CN111190590A (zh) * | 2020-01-07 | 2020-05-22 | 广州虎牙科技有限公司 | 卡顿优化方法、装置、终端和计算机可读存储介质 |
CN111651079A (zh) * | 2020-05-18 | 2020-09-11 | 广州视源电子科技股份有限公司 | 书写笔迹显示方法、装置、设备及计算机存储介质 |
CN112789651A (zh) * | 2019-03-27 | 2021-05-11 | 华为技术有限公司 | 一种应用于终端的频率调整方法、装置及电子设备 |
CN113407138A (zh) * | 2021-06-30 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 应用程序的画面处理方法、装置、电子设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7101780B2 (ja) * | 2017-12-12 | 2022-07-15 | オナー デバイス カンパニー リミテッド | App遠隔制御方法及び関連するデバイス |
-
2021
- 2021-12-24 CN CN202111604587.3A patent/CN115639920B/zh active Active
- 2021-12-24 CN CN202410179242.5A patent/CN118151786A/zh active Pending
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677107A (zh) * | 2016-01-11 | 2016-06-15 | 福州瑞芯微电子股份有限公司 | 屏幕手写跟随性的优化方法及系统 |
CN107102936A (zh) * | 2017-05-27 | 2017-08-29 | 腾讯科技(深圳)有限公司 | 一种流畅度的评估方法和移动终端以及存储介质 |
CN107391021A (zh) * | 2017-07-28 | 2017-11-24 | 广东欧珀移动通信有限公司 | 黑屏手势的识别方法、装置、存储介质及移动终端 |
CN109460364A (zh) * | 2018-11-14 | 2019-03-12 | Oppo广东移动通信有限公司 | 应用程序检测方法、装置、存储介质及移动终端 |
CN112789651A (zh) * | 2019-03-27 | 2021-05-11 | 华为技术有限公司 | 一种应用于终端的频率调整方法、装置及电子设备 |
CN110018759A (zh) * | 2019-04-10 | 2019-07-16 | Oppo广东移动通信有限公司 | 界面显示方法、装置、终端及存储介质 |
CN110503708A (zh) * | 2019-07-03 | 2019-11-26 | 华为技术有限公司 | 一种基于垂直同步信号的图像处理方法及电子设备 |
CN110362353A (zh) * | 2019-07-04 | 2019-10-22 | Oppo广东移动通信有限公司 | 外设控制方法、外设控制装置、存储介质与电子设备 |
CN110489228A (zh) * | 2019-07-16 | 2019-11-22 | 华为技术有限公司 | 一种资源调度的方法和电子设备 |
CN111190590A (zh) * | 2020-01-07 | 2020-05-22 | 广州虎牙科技有限公司 | 卡顿优化方法、装置、终端和计算机可读存储介质 |
CN111651079A (zh) * | 2020-05-18 | 2020-09-11 | 广州视源电子科技股份有限公司 | 书写笔迹显示方法、装置、设备及计算机存储介质 |
CN113407138A (zh) * | 2021-06-30 | 2021-09-17 | 腾讯科技(深圳)有限公司 | 应用程序的画面处理方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN118151786A (zh) | 2024-06-07 |
CN115639920A (zh) | 2023-01-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021057830A1 (zh) | 一种信息处理方法及电子设备 | |
CN110597444B (zh) | 一种书写笔迹显示方法、装置、终端设备及存储介质 | |
WO2021032097A1 (zh) | 一种隔空手势的交互方法及电子设备 | |
CN111651079B (zh) | 书写笔迹显示方法、装置、设备及计算机存储介质 | |
CN110300328B (zh) | 一种视频播放控制方法、装置及可读存储介质 | |
US20230116975A1 (en) | Image processing method and electronic device | |
CN114648951B (zh) | 控制屏幕刷新率动态变化的方法及电子设备 | |
WO2020048026A1 (zh) | 批注显示方法、装置、设备和存储介质 | |
CN103455292A (zh) | 业务数据显示处理方法与装置、用户设备 | |
US20150235391A1 (en) | Information input display device and information input display method | |
WO2019019818A1 (zh) | 加快黑屏手势处理的方法、装置、存储介质及移动终端 | |
WO2024041047A1 (zh) | 一种屏幕刷新率切换方法及电子设备 | |
CN114115673B (zh) | 车载屏幕的控制方法 | |
WO2021052488A1 (zh) | 一种信息处理方法及电子设备 | |
CN115639920B (zh) | 绘制方法、电子设备和可读存储介质 | |
CN111857902A (zh) | 应用的显示方法、装置、设备和可读存储介质 | |
CN112882561B (zh) | 显示控制方法、存储介质及电子设备 | |
WO2022087981A1 (zh) | 一种基于安卓系统的笔迹显示的方法、装置及存储介质 | |
CN115016671A (zh) | 触控显示控制装置、触控显示装置、设备和方法 | |
US20190108814A1 (en) | Method for improving system performance, device for improving system performance, and display apparatus | |
US20220391084A1 (en) | Information display method, reader, computer storage medium, ink screen reading device and screen projection display system | |
CN111949150A (zh) | 控制外设切换方法、装置、存储介质及电子设备 | |
US20130152108A1 (en) | Method and apparatus for video processing | |
CN115019726B (zh) | 画面显示方法、电子设备和可读存储介质 | |
CN117075789B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |