提高iOS绘图性能的方法、计算机装置及存储介质与流程

文档序号:31538436发布日期:2022-09-16 23:12阅读:67来源:国知局
提高iOS绘图性能的方法、计算机装置及存储介质与流程
提高ios绘图性能的方法、计算机装置及存储介质
技术领域
1.本发明涉及绘图技术领域,具体的,涉及一种提高ios绘图性能的方法,还涉及应用该提高ios绘图性能的方法的计算机装置,还涉及应用该提高ios绘图性能的方法的计算机可读存储介质。


背景技术:

2.ios系统软件开发中,最常用的绘图技术是quartz2d,quartz2d是一种二维绘图引擎,可在ios环境和内核之外的所有mac os x应用环境中使用。开发者可以使用quartz 2d应用编程接口(api)来获得一些功能,如基于路径的绘图、透明绘画、阴影、绘制阴影、透明层、色彩管理、反锯齿渲染、pdf文档生成和pdf元数据访问等。
3.在使用quartz2d引擎的过程中,开发者最常用的方法是在绘图api中进行具体的绘图操作,如上下文的初始化,坐标系统的转换,线条颜色的设置等。当绘制的图像需要反映用户的交互(如缩放、平移等操作)时,绘图api会持续地被调用,如果绘图操作涉及大量的运算,就会导致卡顿的出现,从而造成cpu和显示屏的功耗增加,降低屏幕和电池的使用寿命,影响用户体验。


技术实现要素:

4.本发明的第一目的是提供一种可避免大量的重复调用绘图api而造成的显示卡顿问题的提高ios绘图性能的方法。
5.本发明的第二目的是提供一种可避免大量的重复调用绘图api而造成的显示卡顿问题的计算机装置。
6.本发明的第三目的是提供一种可避免大量的重复调用绘图api而造成的显示卡顿问题的计算机可读存储介质。
7.为了实现上述第一目的,本发明提供的提高ios绘图性能的方法包括:进入绘图模式;创建绘图层,调用系统绘图api生成绘图内容;当获取到对绘图内容的操作指令时,判断操作指令是否为不涉及修改绘图内容的指令,若是,根据绘图内容生成快照层,其中,不涉及修改绘图内容的指令是指不会对图像内容的相对位置和像素值进行变更的指令;根据操作指令对快照层进行对应的操作。
8.由上述方案可见,本发明的提高ios绘图性能的方法通过监听用户的操作指令,判断操作指令是否不涉及修改绘图内容,在不涉及修改绘图内容时,对当前绘图内容做快照,生成静态图像进行对应操作,由于对静态图像的操作并不会涉及到大量的cpu运算和gpu的渲染,避免了大量的重复调用绘图api,避免显示“卡顿”,从而减少了cpu和显示屏的功耗,提高屏幕和电池的使用寿命。
9.进一步的方案中,根据绘图内容生成快照层的步骤包括:将绘图内容生成位图。
10.由此可见,绘图内容生成位图然后快照层显示,使得快照层和绘图层的内容一致,从用户感知的角度,对快照层的操作和对绘图层的操作没有区别。
11.进一步的方案中,不涉及修改绘图内容的指令包括:对绘图内容进行平移操作、旋转操作或缩放操作。
12.由此可见,平移操作、旋转操作或缩放操作不会影响绘图内容的变更。
13.进一步的方案中,在根据绘图内容生成快照层的步骤后,还包括:在显示界面隐藏绘图层,显示快照层。
14.由此可见,在根据绘图内容生成快照层后,隐藏绘图层,仅显示快照层,避免浪费系统资源,减少cpu和显示屏的功耗。
15.进一步的方案中,在根据操作指令对快照层进行对应的操作的步骤后,还包括:判断是否获取到将快照层同步到绘图层的操作指令,若是,将快照层的绘图内容同步至绘图层。
16.由此可见,完成对绘图内容的操作后,需要确认是否需要保存当前操作,在需要进行保存时,将快照层的绘图内容同步至绘图层。
17.进一步的方案中,在根据操作指令对快照层进行对应的操作的步骤后,还包括:判断是否获取到关闭快照层的指令,若是,移除快照层,显示绘图层。
18.由此可见,完成对绘图内容的操作后,需要确认是否关闭快照层,在需要关闭时,移除快照层,显示绘图层。
19.为了实现本发明的第二目的,本发明提供计算机装置包括处理器以及存储器,存储器存储有计算机程序,计算机程序被处理器执行时实现上述的提高ios绘图性能的方法的步骤。
20.为了实现本发明的第三目的,本发明提供的计算机可读存储介质,其上存储有计算机程序,计算机程序被控制器执行时实现上述的提高ios绘图性能的方法的步骤。
附图说明
21.图1是本发明提高ios绘图性能的方法实施例的流程图。
22.图2是本发明提高ios绘图性能的方法实施例中绘图内容的元素被选中状态的示意图。
23.以下结合附图及实施例对本发明作进一步说明。
具体实施方式
24.提高ios绘图性能的方法实施例:
25.本实施例的提高ios绘图性能的方法是应用在智能终端的应用程序,用于提高ios绘图性能。其中,智能终端应用ios系统。
26.如图1所示,本实施例中,提高ios绘图性能的方法在工作时,首先执行步骤s1,进入绘图模式。在需进行绘图操作时,可通过发送进入会图模式的指令进入,例如,进入绘图应用界面后,点击进入绘图模式的虚拟按键,从而进入绘图模式。
27.进入绘图模式后,执行步骤s2,创建绘图层,调用系统绘图api生成绘图内容。绘图层是主要的工作区,一切需要展示给用户的内容都在绘图层绘制,绘图内容包括文字、形状、图片等内容。通过创建绘图层,系统绘图api通过cpu指令生成绘图内容,然后经由gpu渲染成位图进行显示。
28.生成绘图内容后,执行步骤s3,判断是否获取到对绘图内容的操作指令。在需要对绘图内容进行操作时,可通过发送对绘图内容进行操作的指令,对绘图内容进行操作包括删除、添加、修改、放大、缩小、旋转等操作。例如,处于绘图状态下时,可以进行图形、文字、色彩等元素的进行绘制。对绘图内容的操作指令可通过按键或者触摸屏输入,例如,通过按压智能终端中设置的按键发送操作指令;或通过智能终端触摸屏能够识别出点击、拖拽、滑动、捏合等手势,从而判断出对绘图内容进行的操作指令类型。
29.若未获取到对绘图内容的操作指令,则继续执行步骤s3,进行操作指令的持续检测。若确认获取到对绘图内容的操作指令时,执行步骤s4,判断操作指令是否为不涉及修改绘图内容的指令。在对绘图内容执行不涉及修改绘图内容的操作时,不会涉及到大量的cpu运算和gpu的渲染,因此,为了避免大量的重复调用绘图api,在执行操作指令之前,需要先判断操作指令是否为不涉及修改绘图内容的指令。本实施例中,不涉及修改绘图内容的指令包括:对绘图内容进行平移操作、旋转操作或缩放操作。图像是由一个个像素点构成,修改绘图内容实质上对像素值的修改,例如,改变物件的颜色就是更改对应像素点的颜色;添加一个色块就是增加与之对应的像素点。不涉及修改绘图内容的操作指令是指不会对图像内容的相对位置和像素值进行变更的指令。平移操作、旋转操作或缩放操作在计算机内部会被转化为对像素点坐标的转换,从而改变像素所在的几何位置,而不会对图像内容的相对位置和像素值做更改,因此,平移操作、旋转操作或缩放操作属于不涉及修改绘图内容的指令。
30.若判断操作指令为不涉及修改绘图内容的指令,则执行步骤s5,根据绘图内容生成快照层。为了减少了cpu和显示屏的功耗,在不会涉及到大量的cpu运算和gpu的渲染的操作时,将绘图内容生成快照层以便后续的操作。本实施例中,根据绘图内容生成快照层的步骤包括:将绘图内容生成位图。通过简单的为绘图内容生成位图然后供快照层显示,使得快照层和绘图层的内容一致,从用户感知的角度,对快照层的操作和对绘图层的操作没有区别。
31.根据绘图内容生成快照层后,执行步骤s6,在显示界面隐藏绘图层,显示快照层。在根据绘图内容生成快照层后,可隐藏绘图层,仅显示快照层,避免浪费系统资源,减少cpu和显示屏的功耗。
32.显示快照层后,执行步骤s7,根据操作指令对快照层进行对应的操作。生成快照层后,可直接对快照层的绘图内容进行平移、旋转或缩放操作指令,因为这些操作不会影响绘图内容的变更,没有必要重复绘图内容生成指令、gpu渲染位图等一系列操作,从而浪费系统资源。例如,当用户点击需要对绘图内容操作时,需要操作的元素处于被选中状态,如图2所示,在此状态下,被选中的元素的边框高亮且出现三个控制点,通过触摸屏在边框范围内的滑动、捏合可以实现平移、缩放,通过触摸屏对控制点的拖拽可以实现旋转。
33.本实施例中,在根据操作指令对快照层进行对应的操作后,还执行:判断是否获取到将快照层同步到绘图层的操作指令,若是,将快照层的绘图内容同步至绘图层。完成对绘图内容的操作后,需要确认是否需要保存当前操作,在需要进行保存时,将快照层的绘图内容同步至绘图层。获取到将快照层同步到绘图层的操作指令的步骤包括:当获取到对触摸屏预设的同步操作指令时,则获取到将快照层同步到绘图层的操作指令;或者获取到同步操作对应的按键操作信息时,则获取到将快照层同步到绘图层的操作指令。其中,对触摸屏
预设的同步操作指令可包括在触摸屏以预设轨迹滑动或以预设点击的方式点击触摸屏。
34.本实施例中,在根据操作指令对快照层进行对应的操作后,还执行:判断是否获取到关闭快照层的指令,若是,移除快照层,显示绘图层。完成对绘图内容的操作后,需要确认是否关闭快照层,以便进行进一步的操作,在需要关闭时,移除快照层,显示绘图层。获取到关闭快照层的指令包括:当完成操作指令预设时长内没有进一步操作指令,则获取到关闭快照层的指令;或者获取到对触摸屏预设的关闭操作指令时,则获取到关闭快照层的指令。
35.此外,在执行步骤s4时,若确操作指令为涉及修改绘图内容的指令。则执行步骤s8,根据操作指令对绘图内容进行对应的操作。涉及修改绘图内容的指令包括删除、添加、修改等操作指令,根据操作指令对应的对绘图内容进行删除、添加、修改等操作。
36.由上述可知,本发明的提高ios绘图性能的方法通过监听用户的操作指令,判断操作指令是否不涉及修改绘图内容,在不涉及修改绘图内容时,对当前绘图内容做快照,生成静态图像进行对应操作,由于对静态图像的操作并不会涉及到大量的cpu运算和gpu的渲染,避免了大量的重复调用绘图api,避免显示“卡顿”,从而减少了cpu和显示屏的功耗,提高屏幕和电池的使用寿命。
37.计算机装置实施例:
38.本实施例的计算机装置包括控制器,控制器执行计算机程序时实现上述提高ios绘图性能的方法实施例中的步骤。
39.例如,计算机程序可以被分割成一个或多个模块,一个或者多个模块被存储在存储器中,并由控制器执行,以完成本发明。一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序在计算机装置中的执行过程。
40.计算机装置可包括,但不仅限于,控制器、存储器。本领域技术人员可以理解,计算机装置可以包括更多或更少的部件,或者组合某些部件,或者不同的部件,例如计算机装置还可以包括输入输出设备、网络接入设备、总线等。
41.例如,控制器可以是中央处理单元(central processing unit,cpu),还可以是其他通用控制器、数字信号控制器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用控制器可以是微控制器或者该控制器也可以是任何常规的控制器等。控制器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
42.存储器可用于存储计算机程序和/或模块,控制器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。例如,存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序等等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
43.计算机可读存储介质实施例:
44.上述实施例的计算机装置集成的模块如果以软件功能单元的形式实现并作为独
立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,实现上述提高ios绘图性能的方法实施例中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被控制器执行时,可实现上述提高ios绘图性能的方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。存储介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
45.需要说明的是,以上仅为本发明的优选实施例,但发明的设计构思并不局限于此,凡利用此构思对本发明做出的非实质性修改,也均落入本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1