一种动画处理方法及装置技术领域
本发明涉及互联网应用技术领域,特别涉及一种动画处理方法及装置。
背景技术
随着互联网技术的发展,人们从互联网上可以获得的信息越来越丰富,由于动画
能呈现给人们丰富、有趣的画面和内容,越来越多的人们喜欢在网上看动画。互联网中的动
画以各种各样的形式呈现给用户,如flash动画,flash可以包含简单的动画、视频内容、复
杂演示文稿或应用程序等。随着终端技术的快速发展,人们可以在终端(如智能手机、平板
电脑等)上播放动画。然而,在终端上播放动画会消耗大量的终端系统资源,如何节省终端
系统资源成为亟待解决的问题。
发明内容
本发明提供一种动画处理方法及装置,能够在播放动画重用图层的时候避免重复
图层渲染,从而实现节省终端的系统资源的目的。
本发明提供一种动画处理方法,包括:
调起用于动画性能调优的预设工具;
开启所述预设工具中的指定属性,利用所述指定属性缓存一个或多个目标图层各
自对应的图像,其中,所述目标图层绘制图像时所消耗的时长大于或等于指定时长。
在本发明一实施例中,利用所述指定属性缓存一个或多个目标图层各自对应的图
像,包括:
利用所述指定属性将一个或多个目标图层绘制到终端屏幕之外的图像,并将所述
图像缓存起来。
在本发明一实施例中,所述方法还包括:
利用缓存的所述图像进行后续目标图层的绘制。
在本发明一实施例中,所述预设工具为Instruments中的Core Animation工具。
在本发明一实施例中,所述Core Animation工具为可视化工具。
在本发明一实施例中,所述指定属性为shouldRasterizep属性。
本发明还提供一种动画处理装置,包括:
调起模块,用于调起用于动画性能调优的预设工具;
缓存模块,用于开启所述预设工具中的指定属性,利用所述指定属性缓存一个或
多个目标图层各自对应的图像,其中,所述目标图层绘制图像时所消耗的时长大于或等于
指定时长。
在本发明一实施例中,所述缓存模块还用于:
利用所述指定属性将一个或多个目标图层绘制到终端屏幕之外的图像,并将所述
图像缓存起来。
在本发明一实施例中,所述装置还包括:
绘制模块,用于利用缓存的所述图像进行后续目标图层的绘制。
在本发明一实施例中,所述预设工具为Instruments中的Core Animation工具。
在本发明一实施例中,所述Core Animation工具为可视化工具。
在本发明一实施例中,所述指定属性为shouldRasterizep属性。
在本发明实施例中,调起用于动画性能调优的预设工具;开启所述预设工具中的
指定属性,利用所述指定属性缓存一个或多个目标图层各自对应的图像,其中,所述目标图
层绘制图像时所消耗的时长大于或等于指定时长。由此可见,本发明实施例能够在播放动
画重用图层的时候避免重复图层渲染,从而实现节省终端的系统资源的目的。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变
得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明
书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实
施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1所示为本发明一实施例中动画处理方法的流程图;
图2所示为本发明另一实施例中动画处理方法的流程图;
图3所示为本发明一实施例中动画处理装置的结构示意图;以及
图4所示为本发明另一实施例中动画处理装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实
施例仅用于说明和解释本发明,并不用于限定本发明。
如图1所示为本发明一实施例中动画处理方法的流程图,该方法可以应用在电脑、
手机等终端上,该方法可以包括以下步骤S11-S12。
步骤S11,调起用于动画性能调优的预设工具。
在该步骤中,预设工具可以为Instruments中的Core Animation工具,该工具为可
视化工具,可以用来监测Core Animation动画性能,并对动画性能调优。并且,Core
Animation工具提供了一系列复选框选项来帮助调试渲染。
步骤S12,开启预设工具中的指定属性,利用该指定属性缓存一个或多个目标图层
各自对应的图像,其中,目标图层绘制图像时所消耗的时长大于或等于指定时长。
在该步骤中,预设工具中的指定属性可以为shouldRasterizep属性。当使用
shouldRasterizep属性的时候,耗时的图层绘制会被缓存,然后当做一个简单的扁平图片
呈现。当缓存再生的时候这个选项就用红色对栅格化图层进行了高亮。如果缓存频繁再生
的话,就意味着栅格化可能会有负面的性能影响了。启用shouldRasterize属性会将图层绘
制到一个屏幕之外的图像。然后这个图像将会被缓存起来并绘制到实际图层的contents和
子图层。如果有很多的子图层或者有复杂的效果应用,这样做就会比重绘所有事务的所有
帧划得来得多。但是光栅化原始图像需要时间,而且还会消耗额外的内存。
此外,上文提及的指定时长可以根据实际需求进行设置,本发明不进行限制。在本
发明实施例中,可以记录图层绘制图像时所消耗的时长,将记录的时长与指定时长进行比
较,确定记录的时长大于指定时长对应的图层为目标图层。
在本发明实施例中,调起用于动画性能调优的预设工具;开启所述预设工具中的
指定属性,利用所述指定属性缓存一个或多个目标图层各自对应的图像,其中,所述目标图
层绘制图像时所消耗的时长大于或等于指定时长。由此可见,本发明实施例能够在播放动
画重用图层的时候避免重复图层渲染,从而实现节省终端的系统资源(如内存、CPU等)的目
的。
在本发明的可选实施例中,上文步骤S12中利用该指定属性缓存一个或多个目标
图层各自对应的图像可以实施为以下步骤A1-A2:
步骤A1,利用该指定属性将一个或多个目标图层绘制到终端屏幕之外的图像。
步骤A2,将上述绘制的图像缓存起来,以便利用缓存的图像进行后续目标图层的
绘制。
下面通过一具体实施例来详细介绍本发明的动画处理方法的实现过程。如图2所
示为本发明另一实施例中动画处理方法的流程图,该方法可以包括以下步骤S21-S24。
步骤S21,调起用于动画性能调优的Core Animation工具。
在该步骤中,Core Animation工具可以为可视化工具,可以用来监测Core
Animation动画性能,并对动画性能调优。并且,Core Animation工具提供了一系列复选框
选项来帮助调试渲染。
步骤S22,开启Core Animation工具中的shouldRasterizep属性。
在该步骤中,当使用shouldRasterizep属性的时候,耗时的图层绘制会被缓存,然
后当做一个简单的扁平图片呈现。当缓存再生的时候这个选项就用红色对栅格化图层进行
了高亮。如果缓存频繁再生的话,就意味着栅格化可能会有负面的性能影响了。启用
shouldRasterize属性会将图层绘制到一个屏幕之外的图像。然后这个图像将会被缓存起
来并绘制到实际图层的contents和子图层。如果有很多的子图层或者有复杂的效果应用,
这样做就会比重绘所有事务的所有帧划得来得多。但是光栅化原始图像需要时间,而且还
会消耗额外的内存。
具体开启Core Animation工具中的shouldRasterizep属性的代码如下:
view.layer.shouldRasterize=YES;
view.layer.rasterizationScale=[UIScreen mainScreen].scale。
步骤S23,利用shouldRasterizep属性将一个或多个目标图层绘制到终端屏幕之
外的图像。
步骤S24,将上述绘制的图像缓存起来,以便利用缓存的图像进行后续目标图层的
绘制,其中,目标图层绘制图像时所消耗的时长大于或等于指定时长。
需要说明的是,在实际应用中,上述所有可选实施方式可以采用结合的方式任意
组合,形成本发明的可选实施例,在此不再一一赘述。
对应于上述实施例中的动画处理方法,本发明还提供一种动画处理装置。如图3所
示为本发明一实施例中动画处理装置的结构示意图,包括:
调起模块31,用于调起用于动画性能调优的预设工具;
缓存模块32,用于开启所述预设工具中的指定属性,利用所述指定属性缓存一个
或多个目标图层各自对应的图像,其中,所述目标图层绘制图像时所消耗的时长大于或等
于指定时长。
在本发明一实施例中,所述缓存模块32还用于:
利用所述指定属性将一个或多个目标图层绘制到终端屏幕之外的图像,并将所述
图像缓存起来。
在本发明一实施例中,如图4所示,上文图3展示的装置还可以包括:
绘制模块41,用于利用缓存的所述图像进行后续目标图层的绘制。
在本发明一实施例中,所述预设工具为Instruments中的Core Animation工具。
在本发明一实施例中,所述Core Animation工具为可视化工具。
在本发明一实施例中,所述指定属性为shouldRasterizep属性。
本发明实施例的上述装置:调起用于动画性能调优的预设工具;开启所述预设工
具中的指定属性,利用所述指定属性缓存一个或多个目标图层各自对应的图像,其中,所述
目标图层绘制图像时所消耗的时长大于或等于指定时长。由此可见,本发明实施例能够在
播放动画重用图层的时候避免重复图层渲染,从而实现节省终端的系统资源的目的。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序
产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机
可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形
式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流
程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序
指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产
生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实
现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特
定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指
令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或
多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计
算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或
其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一
个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精
神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围
之内,则本发明也意图包含这些改动和变型在内。