CN115775290A - 动画帧率的处理方法、装置、设备及存储介质 - Google Patents
动画帧率的处理方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN115775290A CN115775290A CN202111040051.3A CN202111040051A CN115775290A CN 115775290 A CN115775290 A CN 115775290A CN 202111040051 A CN202111040051 A CN 202111040051A CN 115775290 A CN115775290 A CN 115775290A
- Authority
- CN
- China
- Prior art keywords
- animation
- frame rate
- frame
- rendering
- current
- 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
Images
Abstract
本公开提供了一种动画帧率的处理方法、装置、设备及存储介质,所述方法包括:在接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画,如果存储正在绘制的动画,则获取当前绘制帧率;通过将当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制。本公开提供的动画帧率的处理方法能够将当前正在绘制的动画的当前绘制帧率,与动画渲染接入信号对应的动画绘制帧率进行对齐,从而降低全局动画帧率,达到降低CPU和GPU负载的目的,从而能够有效降低终端设备出现卡顿的概率。同时,全局动画帧率降低,也降低了绘制动画所消耗的电量,有利于提高终端设备的续航能力。
Description
技术领域
本公开涉及动画绘制技术领域,尤其涉及一种动画帧率的处理方法、装置、设备及存储介质。
背景技术
随着视频应用的发展,视频展示界面上展示的动画元素越来越多。比如,同一视频展示界面上可以包括跳动的音符、滚动的文字以及其他动画等多个动画元素。
目前,同一界面上展示的多个动画元素都是按照自身的绘制周期进行绘制的,这会使一秒钟绘制的帧率较大,比如,一个20帧的动画绘制时,还有一个30帧的动画绘制,如果两个动画交叉进行绘制,则绘制帧率会达到50帧,绘制帧率过大不仅会增加功耗,还会导致终端设备的CPU(Central Processing Unit,中央处理器)和GPU(Graphics ProcessingUnit,图形处理器)负载较大,容易造成终端设备卡顿。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开实施例提供了一种动画帧率的处理方法,通过将当前正在绘制的动画的当前绘制帧率,与动画渲染接入信号对应的动画绘制帧率进行对齐处理,来降低全局动画帧率,达到降低CPU和GPU负载的目的。
第一方面,本公开提供了一种动画帧率的处理方法,所述方法包括:
当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
第二方面,本公开还提供了一种动画帧率的处理装置,所述装置包括:
确定模块,用于当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
获取模块,用于如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
对齐模块,用于通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
第三方面,本公开提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现上述的动画帧率的处理方法。
第四方面,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现上述的动画帧率的处理方法。
第五方面,本公开提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现上述的动画帧率的处理方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例提供了一种动画帧率的处理方法,首先,在接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画,如果存储正在绘制的动画,则获取当前绘制帧率。然后,通过将当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制。可见,本公开实施例提供的动画帧率的处理方法能够将当前正在绘制的动画的当前绘制帧率,与动画渲染接入信号对应的动画绘制帧率进行对齐,从而降低全局动画帧率,达到降低CPU和GPU负载的目的,从而能够有效降低终端设备出现卡顿的概率。同时,全局动画帧率降低,也降低了绘制动画所消耗的电量,有利于提高终端设备的续航能力。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开一实施例提供的一种动画帧率的处理方法的流程示意图;
图2为本公开一实施例提供的绘制帧率相同的两个动画帧率对齐前后对比示意图;
图3为本公开另一实施例提供的一种动画帧率的处理方法的流程示意图;
图4为本公开一实施例提供的两个动画帧率对齐前后对比示意图一;
图5为本公开一实施例提供的两个动画帧率对齐前后对比示意图二;
图6为本公开一实施例提供的两个动画帧率对齐前后对比示意图三;
图7为本公开实施例提供的一种动画帧率的处理装置的结构示意图;
图8为本公开一实施例所提供的一种终端设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了降低CPU和GPU的负载,降低终端设备出现卡顿的概率,本公开实施例提供了一种动画帧率的处理方法,首先,在接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画,如果存储正在绘制的动画,则获取当前绘制帧率。然后,通过将当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制。可见,本公开实施例提供的动画帧率的处理方法能够将当前正在绘制的动画的当前绘制帧率,与动画渲染接入信号对应的动画绘制帧率进行对齐,从而降低全局动画帧率,达到降低CPU和GPU负载的目的,从而能够有效降低终端设备出现卡顿的概率。同时,全局动画帧率降低,也降低了绘制动画所消耗的电量,有利于提高终端设备的续航能力。
基于此,本公开实施例提供了一种动画帧率的处理方法,参考图1,为本公开实施例提供的一种动画帧率的处理方法的流程示意图,该方法可以由动画帧率的处理装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在平板电脑、智能手机等终端设备中。
如图1所示,该动画帧率的处理方法包括:
S101:当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画。
本公开实施例中,动画渲染接入信号可以用Vsync信号表示。
在安卓系统中,通常使用VSync信号来调度Back Buffer到Frame Buffer的复制操作。在某个时间点,一个屏幕刷新周期完成,则进入短暂的刷新空白期,此时,VSync信号产生,先完成复制操作,然后通知CPU/GPU绘制下一帧图像。也就是说,当VSync信号产生时,CPU/GPU才会开始绘制图像。因此本公开实施例中,可以通过监听VSync信号来判断是否有新的动画需要绘制,当接收到VSync信号时,表明有新的动画待绘制。
进一步地,当接收到VSync信号时,则继续判断当前是否存在正在绘制的动画。
示例性地,可以通过监听相应的进程来判断当前是否存在正在绘制的动画,本公开对此不作详述。
S102:如果确定当前存在正在绘制的动画,则获取当前绘制帧率。
本公开实施例中,当确定当前存在正在绘制的动画时,则进一步获取当前绘制帧率。
通常,动画的绘制是有规律的,比如绘制帧率为30FPS(帧/每秒)时,可以按照01010101的规律进行绘制,其中,“0”位置处不绘制,“1”位置处为绘制帧。因此,示例性地,本公开实施例中,可以根据当前正在绘制的动画的绘制规律,确定当前绘制动画对应的当前绘制帧率。
需要说明的是,当前绘制动画的当前绘制帧率,可以是一个动画的当前绘制帧率,也可以是多个动画采用本公开的方案进行帧率对齐后确定的绘制帧率。比如,若当前绘制动画为一个,则当前绘制帧率即为该动画对应的绘制帧率,若当前绘制动画为至少两个,则当前绘制帧率即为至少两个正在绘制的动画进行帧率对齐后的绘制帧率。
S103:通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
其中,动画渲染接入信号对应的动画绘制帧率,可以在监听到动画渲染接入信号时获取。通常,与视频在同一界面上展示的各动画元素预先进行注册,可以拦截所有的动画注册信号,并记录各动画对应的绘制帧率。
示例性地,动画注册信号中可以包括动画标识和对应的绘制帧率,通过拦截动画注册信号,从动画注册信号中获取动画标识和绘制帧率,并记录动画标识与绘制帧率的对应关系。从而,当监听到动画渲染接入信号时,可以根据动画渲染接入信号包含的动画标识,查询上述对应关系,确定动画渲染接入信号对应的动画绘制帧率。另外,如果当前仅有一个动画正在绘制,则当前绘制动画的当前绘制帧率,也可以根据当前绘制动画的标识,通过查询上述对应关系获取。
本公开实施例中,将当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理时,可以通过判断当前绘制帧率与动画渲染接入信号对应的动画绘制帧率是否一致,来选择不同的对齐策略进行对齐处理。
示例性地,当前绘制帧率与动画渲染接入信号对应的动画绘制帧率相同时,可以延迟动画渲染接入信号对应动画的绘制时机,等待当前绘制动画进入绘制帧时,开启动画渲染接入信号对应动画的绘制。
图2为本公开一实施例提供的绘制帧率相同的两个动画帧率对齐前后对比示意图,图2中,动画1为当前正在绘制的动画,动画2为动画渲染接入信号对应的动画,动画1和动画2的绘制帧率均为30FPS。如图2所示,在进行帧率对齐之前,当动画2为绘制帧时,动画1不是绘制帧,则动画1和动画2均需要绘制时,使得全局的绘制帧率高达60FPS。如果将动画2延迟1帧绘制,等待动画1进入绘制帧时才开启绘制,则从图2可以看出,动画1和动画2的绘制帧对齐,全局的绘制帧率仍为30FPS。对比帧率对齐前后的全局绘制帧率可以看出,帧率对齐后的全局绘制帧率明显降低,且各动画对应的绘制帧率未发生变化,全局绘制帧率降低使得终端设备的CPU/GPU负载也降低。
示例性地,当前绘制帧率与动画渲染接入信号对应的动画绘制帧率不相同时,可以根据当前绘制帧率与动画渲染接入信号对应的动画绘制帧率之间的关系确定对应的对齐策略。其中,如果当前绘制帧率与动画渲染接入信号对应的动画绘制帧率是整数倍关系,则通过首个绘制帧对齐的方式进行帧率对齐;如果当前绘制帧率与动画渲染接入信号对应的动画绘制帧率不是整数倍关系,则可以在首个绘制帧对齐的基础上,通过对当前绘制帧率和/或动画渲染接入信号对应的动画绘制帧率间隙性调整未对齐的帧率间隔的方式,动态调整绘制间隔,以使当前绘制帧率和动画渲染接入信号对应的动画绘制帧率最大程度对齐。
本公开实施例的动画帧率的处理方法,首先,在接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画,如果存储正在绘制的动画,则获取当前绘制帧率。然后,通过将当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制。可见,本公开实施例提供的动画帧率的处理方法能够将当前正在绘制的动画的当前绘制帧率,与动画渲染接入信号对应的动画绘制帧率进行对齐,从而降低全局动画帧率,达到降低CPU和GPU负载的目的,从而能够有效降低终端设备出现卡顿的概率。同时,全局动画帧率降低,也降低了绘制动画所消耗的电量,有利于提高终端设备的续航能力。
图3为本公开另一实施例提供的一种动画帧率的处理方法的流程示意图,如图3所示,在前述实施例的基础上,步骤103可以包括以下步骤:
S201:确定所述当前绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第一间隔帧数。
其中,间隔帧数指的是一个重复的绘制周期包含的帧数。比如,对于绘制帧率011011011011,则间隔帧数为3;对于绘制帧率01010101,则间隔帧数为2。
能够理解的是,确定当前绘制帧率中相邻两个绘制帧之间的间隔帧数,即确定当前绘制帧率中一个重复的绘制周期包含的帧数。比如,假设当前绘制帧率为011011011011,则011即为一个重复的绘制周期,该绘制周期包含0、1和1三帧,则当前绘制帧率对应的间隔帧数为3。
S202:确定所述动画渲染接入信号对应的动画绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第二间隔帧数。
S203:基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理。
本公开实施例中,获取了当前绘制帧率的第一间隔帧数,及动画渲染接入信号对应的动画绘制帧率的第二间隔帧数之后,可以基于第一间隔帧数和第二间隔帧数进行取模处理,获取取模结果,其中,在进行取模处理时,以第一间隔帧数和第二间隔帧数中的较小值作为除数进行取模。比如,第一间隔帧数为3,第二间隔帧数为2,则以2为除数,以3为被除数进行取模,获得取模结果为1。
接着,基于第一间隔帧数和第二间隔帧数的取模结果,对当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理。
在一种可选的实施方式中,如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果为0,则在监听到所述当前绘制帧率进入第一绘制帧时,将所述动画渲染接入信号对应的动画绘制帧率的首个绘制帧与所述第一绘制帧对齐。
其中,第一绘制帧,是指当前绘制帧率中未绘制的所有剩余绘制帧中,最快进入绘制的一个绘制帧。
图4为本公开一实施例提供的两个动画帧率对齐前后对比示意图一,图4中,动画3的帧率为40FPS,绘制帧率为110110110110,动画4的帧率为20FPS,绘制帧率为001001001001,在进行绘制时,按照从左至右的顺序进行绘制。从图4可以看出,若不对动画3和动画4进行帧率对齐,则全局绘制帧率为111111111111,即60FPS。在进行帧率对齐时,若将动画4向动画3对齐,则动画3对应的绘制帧率中,第一个“1”对应的绘制帧是最快进入绘制的帧,即第一绘制帧。若将动画3向动画4对齐,则动画4对应的绘制帧率中,第一个“1”对应的绘制帧是最快进入绘制的帧,即第一绘制帧,图2以动画4向动画3进行对齐为例来解释说明本公开,但不能作为对本公开的限制。从图4可以看出,将动画4的首个绘制帧与第一绘制帧对齐之后,动画4中的其他绘制帧也与当前绘制帧率中的其他绘制帧对齐,对齐之后的全局绘制帧率为110110110110,仍为40FPS,相较于对齐之前,全局绘制帧率明显降低。
在一种可选的实施方式中,如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果不为0,则从所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中确定基准帧率和待对齐帧率;其中,所述基准帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较大绘制帧率,所述待对齐帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较小绘制帧率;将所述待对齐帧率向所述基准帧率进行对齐。
举例而言,假设当前绘制帧率为30FPS,动画渲染接入信号对应的动画绘制帧率为20FPS,则可以将当前绘制帧率作为基准帧率,将动画渲染接入信号对应的动画绘制帧率作为待对齐帧率,进而将待对齐帧率向基准帧率对齐。在进行对齐时,可以通过向前跳转或者向后跳转的方式进行对齐。
在一种可选的实施方式中,将待对齐帧率向基准帧率对齐,可以包括:在监听到所述基准帧率进入第二绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第二绘制帧对齐;在监听到所述基准帧率进入第三绘制帧时,确定所述待对齐帧率中的当前帧是否为绘制帧;其中,所述第三绘制帧位于所述第二绘制帧之后;如果确定所述待对齐帧率中的当前帧不是绘制帧,则确定所述待对齐帧率中的下一帧是否为绘制帧;如果确定所述待对齐帧率中的下一帧为绘制帧,则通过将所述待对齐帧率中的下一帧与当前帧进行跳转交换,与所述基准帧率中的所述第三绘制帧对齐。
其中,第二绘制帧,是指基准帧率中未绘制的所有剩余绘制帧中,最快进入绘制的一个绘制帧,第三绘制帧是第二绘制帧之后的绘制帧,待对齐帧率中的当前帧是与基准帧率中的第三绘制帧对应的帧。
图5为本公开一实施例提供的两个动画帧率对齐前后对比示意图二,图5中,动画5的帧率为30FPS,绘制帧率为010101010101,动画6的帧率为20FPS,绘制帧率为001001001001,在进行绘制时,按照从左至右的顺序进行绘制。从图5可以看出,若不对动画5和动画6进行帧率对齐,则全局绘制帧率为011101011101,即40FPS。由于动画5的帧率大于动画6的帧率,则将动画5对应的绘制帧率作为基准帧率,将动画6对应的帧率作为待对齐帧率。在进行帧率对齐时,动画5对应的绘制帧率中,第一个“1”对应的绘制帧是最快进入绘制的帧,即第二绘制帧,将动画6对应的绘制帧率中的第一个绘制帧与第二绘制帧对齐。当监听到动画5对应的绘制帧率进入第三绘制帧(即图5中动画5对应的绘制帧率中的第二个1)时,动画6对应的绘制帧率中,与第三绘制帧对应的当前帧为0(参见图5中跳转前对应的绘制帧率),非绘制帧,则确定动画6中当前帧的下一帧是否为绘制帧。从图5可以看出,当前帧的下一帧为绘制帧,则将下一帧与当前帧进行跳转交换,跳转后的结果参见图5中所示的跳转后的帧率。从图5可以看出,当前帧与下一帧进行跳转后,与动画6对应的绘制帧率中,与第三绘制帧对应的帧变换为绘制帧,可以同时进行绘制。对于之后的帧可以采用类似的方式进行帧率对齐,直至动画绘制完成。从图5可以看出,虚线框出的两个帧进行向前跳转,提前一帧进行绘制帧的绘制,动画5的绘制帧率与向前跳转后的动画6的绘制帧率对齐之后,得到的全局绘制帧率为010101010101,仍为30FPS,相较于对齐之前的40FPS,全局绘制帧率降低。
在一种可选的实施方式中,将待对齐帧率向基准帧率对齐,可以包括:在监听到所述基准帧率进入第四绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第四绘制帧对齐;在确定所述基准帧率中的当前帧不是绘制帧,且所述待对齐帧率中的当前帧为绘制帧时,确定所述基准帧率和所述待对齐帧率中的下一帧是否为绘制帧;如果确定所述基准帧率中的下一帧是绘制帧,且所述待对齐帧率中的下一帧不是绘制帧,则通过将所述待对齐帧率中的当前帧与下一帧进行跳转交换,与所述基准帧率中的下一帧对齐。
其中,第四绘制帧,是指基准帧率中未绘制的所有剩余绘制帧中,最快进入绘制的一个绘制帧。
图6为本公开一实施例提供的两个动画帧率对齐前后对比示意图三,图6中,动画7的帧率为30FPS,绘制帧率为010101010101010,动画8的帧率为24FPS,绘制帧率为011000110001100,在进行绘制时,按照从左至右的顺序进行绘制。从图6可以看出,若不对动画7和动画8进行帧率对齐,则全局绘制帧率为011101110101110,即40FPS。由于动画7的帧率大于动画8的帧率,则将动画7对应的绘制帧率作为基准帧率,将动画8对应的帧率作为待对齐帧率。在进行帧率对齐时,动画7对应的绘制帧率中,第一个“1”对应的绘制帧是最快进入绘制的帧,即第四绘制帧,将动画8对应的绘制帧率中的第一个绘制帧与第四绘制帧对齐。从图6可以看出,动画7对应的绘制帧率中,与第四绘制帧相邻的当前帧为0,不是绘制帧,而动画8对应的绘制帧率中,与首个绘制帧相邻的当前帧为1,是绘制帧,则继续确定动画7和动画8的下一帧是否为绘制帧。从图6可以看出,动画7对应的绘制帧率中的下一帧为1,是绘制帧,而动画8对应的绘制帧率中的下一帧为0,不是绘制帧,则将动画8对应的绘制帧率中的下一帧与当前帧进行跳转交换,跳转后的结果参见图6中所示的跳转后的帧率。从图6可以看出,当前帧与下一帧进行跳转后,动画8与动画7中的绘制帧对应,可以同时进行绘制。对于之后的帧可以采用类似的方式进行帧率对齐,直至动画绘制完成。从图6可以看出,虚线框出的两个帧进行向后跳转,延后一帧进行绘制帧的绘制,实线框出的两个帧进行向前跳转,提前一帧绘制,动画7的绘制帧率与跳转后的动画8的绘制帧率对齐之后,得到对齐之后的全局绘制帧率为010101010101,仍为30FPS,相较于对齐之前的40FPS,全局绘制帧率降低。
S204:在对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理的过程中,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
本公开实施例中,在对当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理的过程中,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制。也就是说,动画绘制过程是边对齐边绘制的过程,对齐一帧绘制一帧。
本公开实施例的动画帧率的处理方法,通过确定当前绘制帧率中相邻两个绘制帧之间的间隔帧数作为第一间隔帧数,以及确定动画渲染接入信号对应的动画绘制帧率中相邻两个绘制帧之间的间隔帧数作为第二间隔帧数,再基于第一间隔帧数和第二间隔帧数的取模结果,对当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理,并在对齐处理的过程中,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制,由此,实现了两个动画之间的帧率对齐,能够有效降低全局的绘制帧率,从而降低终端设备的CPU和GPU负载,减少终端设备出现卡顿的现象。
在一种可选的实施方式中,当接收到动画渲染退出信号时,确定动画渲染退出信号对应的动画绘制帧率是否小于当前绘制帧率;如果确定所述动画渲染退出信号对应的动画绘制帧率不小于所述当前绘制帧率,则确定当前正在绘制的动画的个数是否大于1;如果确定所述个数大于1,则触发将所述当前正在绘制的动画的帧率进行重新对齐。
能够理解的是,本公开的动画帧率的处理方法,能够将各动画的绘制帧率,尽可能地向各动画对应的绘制帧率中的最大绘制帧率对齐,即绘制帧尽可能地对齐,使得全局的绘制帧率尽可能地等于各动画中的最大绘制帧率。当其他动画绘制帧率中的绘制帧均与最大绘制帧率中的绘制帧对齐时,则全局绘制帧率与最大绘制帧率相同。
本公开实施例中,当接收到动画渲染退出信号时,此时有动画退出绘制过程,这时,可以将动画渲染退出信号对应的动画即退出动画的动画绘制帧率与当前绘制帧率比较,如果退出动画的动画绘制帧率不小于当前绘制帧率,则表明当前退出的动画为最大绘制帧率的动画,这种情况下,需要从正在绘制的动画中重新确定最大绘制帧率以重新进行帧率对齐处理。在重新进行帧率对齐之前,可以先判断当前正在绘制的动画的个数是否大于1,即当前是否有多个动画正在绘制,若是,则触发将当前正在绘制的动画的帧率进行重新对齐,否则,不再进行重新对齐。由此,实现了在有动画退出时,确定是否需要对剩余的动画进行重新对齐,并在需要重新对齐时重新进行帧率对齐,能够持续保持全局帧率最低。
动画的帧率有一定的上限,通常为60FPS,再高的绘制帧率对动画播放效果的影响不大,因此,在一种可选的实施方式中,通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制之前,可以先确定所述当前绘制帧率是否低于满负载帧率,进而,在确定所述当前绘制帧率低于所述满负载帧率时,通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
其中,满负载帧率可以是终端设备的CPU或GPU所能支持的最大绘制帧率。
示例性地,满负载帧率可以设置为60FPS。
本公开实施例中,先确定当前绘制帧率是否低于满负载帧率,在确定当前绘制帧率低于满负载帧率的情况下,才通过将当前绘制帧率与动画渲染接入信号对应的动画绘制帧率进行对齐处理,对正在绘制的动画和动画渲染接入信号对应的动画进行绘制,而如果当前绘制帧率为满负载帧率,则无论是否进行帧率对齐,全局绘制帧率均为满负载绘制帧率,这种情况下,帧率对齐处理不会降低全局的绘制帧率,因此对齐处理的意义不大,避免了不必要的对齐处理导致的资源消耗。
基于上述方法实施例,本公开还提供了一种动画帧率的处理装置,参考图7,为本公开实施例提供的一种动画帧率的处理装置的结构示意图,所述动画帧率的处理装置30包括:确定模块301、获取模块302和对齐模块303,其中,
确定模块301,用于当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
获取模块302,用于如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
对齐模块303,用于通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
在一种可选的实施方式中,所述对齐模块303包括:
第一确定单元,用于确定所述当前绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第一间隔帧数;
第二确定单元,用于确定所述动画渲染接入信号对应的动画绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第二间隔帧数;
对齐单元,用于基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理;
绘制单元,用于在对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理的过程中,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
在一种可选的实施方式中,对齐单元具体用于:如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果为0,则在监听到所述当前绘制帧率进入第一绘制帧时,将所述动画渲染接入信号对应的动画绘制帧率的首个绘制帧与所述第一绘制帧对齐。
在一种可选的实施方式中,对齐单元具体用于:
如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果不为0,则从所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中确定基准帧率和待对齐帧率;其中,所述基准帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较大绘制帧率,所述待对齐帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较小绘制帧率;
将所述待对齐帧率向所述基准帧率进行对齐。
在一种可选的实施方式中,对齐单元还用于:
在监听到所述基准帧率进入第二绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第二绘制帧对齐;
在监听到所述基准帧率进入第三绘制帧时,确定所述待对齐帧率中的当前帧是否为绘制帧;其中,所述第三绘制帧位于所述第二绘制帧之后;
如果确定所述待对齐帧率中的当前帧不是绘制帧,则确定所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述待对齐帧率中的下一帧为绘制帧,则通过将所述待对齐帧率中的下一帧与当前帧进行跳转交换,与所述基准帧率中的所述第三绘制帧对齐。
在一种可选的实施方式中,对齐单元还用于:
在监听到所述基准帧率进入第四绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第四绘制帧对齐;
在确定所述基准帧率中的当前帧不是绘制帧,且所述待对齐帧率中的当前帧为绘制帧时,确定所述基准帧率和所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述基准帧率中的下一帧是绘制帧,且所述待对齐帧率中的下一帧不是绘制帧,则通过将所述待对齐帧率中的当前帧与下一帧进行跳转交换,与所述基准帧率中的下一帧对齐。
在一种可选的实施方式中,所述动画帧率的处理装置,还包括:
第一判断模块,用于当接收到动画渲染退出信号时,确定所述动画渲染退出信号对应的动画绘制帧率是否小于当前绘制帧率;
第二判断模块,用于如果确定所述动画渲染退出信号对应的动画绘制帧率不小于所述当前绘制帧率,则确定当前正在绘制的动画的个数是否大于1;
重新对齐模块,用于如果确定所述个数大于1,则触发将所述当前正在绘制的动画的帧率进行重新对齐。
在一种可选的实施方式中,所述动画帧率的处理装置,还包括:
第三判断模块,用于确定所述当前绘制帧率是否低于满负载帧率;
相应地,所述对齐模块303具体用于:在确定所述当前绘制帧率低于所述满负载帧率时,通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
本公开实施例所提供的动画帧率的处理装置可执行本公开任意实施例所提供的动画帧率的处理方法,具备执行方法相应的功能模块和有益效果。
除了上述方法和装置以外,本公开实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现本公开实施例所述的动画帧率的处理方法。
本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现本公开实施例所述的动画帧率的处理方法。
图8为本公开一实施例所提供的一种终端设备的结构示意图。
下面具体参考图8,其示出了适于用来实现本公开实施例中的终端设备400的结构示意图。本公开实施例中的终端设备400可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图8示出的终端设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图8所示,终端设备400可以包括处理装置(例如中央处理器、图形处理器等)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储装置408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM 403中,还存储有终端设备400操作所需的各种程序和数据。处理装置401、ROM 402以及RAM403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
通常,以下装置可以连接至I/O接口405:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置406;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置407;包括例如磁带、硬盘等的存储装置408;以及通信装置409。通信装置409可以允许终端设备400与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的终端设备400,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置409从网络上被下载和安装,或者从存储装置408被安装,或者从ROM 402被安装。在该计算机程序被处理装置401执行时,执行本公开实施例的动画帧率的处理方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述终端设备中所包含的;也可以是单独存在,而未装配入该终端设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该终端设备执行时,使得该终端设备:当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;如果确定当前存在正在绘制的动画,则获取当前绘制帧率;通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例,本公开提供了一种动画帧率的处理方法,包括:
当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制,包括:
确定所述当前绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第一间隔帧数;
以及,确定所述动画渲染接入信号对应的动画绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第二间隔帧数;
基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理;
在对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理的过程中,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,包括:
如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果为0,则在监听到所述当前绘制帧率进入第一绘制帧时,将所述动画渲染接入信号对应的动画绘制帧率的首个绘制帧与所述第一绘制帧对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,包括:
如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果不为0,则从所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中确定基准帧率和待对齐帧率;其中,所述基准帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较大绘制帧率,所述待对齐帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较小绘制帧率;
将所述待对齐帧率向所述基准帧率进行对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述将所述待对齐帧率向所述基准帧率进行对齐,包括:
在监听到所述基准帧率进入第二绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第二绘制帧对齐;
在监听到所述基准帧率进入第三绘制帧时,确定所述待对齐帧率中的当前帧是否为绘制帧;其中,所述第三绘制帧位于所述第二绘制帧之后;
如果确定所述待对齐帧率中的当前帧不是绘制帧,则确定所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述待对齐帧率中的下一帧为绘制帧,则通过将所述待对齐帧率中的下一帧与当前帧进行跳转交换,与所述基准帧率中的所述第三绘制帧对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述将所述待对齐帧率向所述基准帧率进行对齐,包括:
在监听到所述基准帧率进入第四绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第四绘制帧对齐;
在确定所述基准帧率中的当前帧不是绘制帧,且所述待对齐帧率中的当前帧为绘制帧时,确定所述基准帧率和所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述基准帧率中的下一帧是绘制帧,且所述待对齐帧率中的下一帧不是绘制帧,则通过将所述待对齐帧率中的当前帧与下一帧进行跳转交换,与所述基准帧率中的下一帧对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述方法还包括:
当接收到动画渲染退出信号时,确定所述动画渲染退出信号对应的动画绘制帧率是否小于当前绘制帧率;
如果确定所述动画渲染退出信号对应的动画绘制帧率不小于所述当前绘制帧率,则确定当前正在绘制的动画的个数是否大于1;
如果确定所述个数大于1,则触发将所述当前正在绘制的动画的帧率进行重新对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理方法中,所述通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制之前,还包括:
确定所述当前绘制帧率是否低于满负载帧率;
相应的,所述通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制,包括:
在确定所述当前绘制帧率低于所述满负载帧率时,通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
根据本公开的一个或多个实施例,本公开提供了一种动画帧率的处理装置,包括:
确定模块,用于当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
获取模块,用于如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
对齐模块,用于通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述对齐模块包括:
第一确定单元,用于确定所述当前绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第一间隔帧数;
第二确定单元,用于确定所述动画渲染接入信号对应的动画绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第二间隔帧数;
对齐单元,用于基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理;
绘制单元,用于在对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理的过程中,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述对齐单元具体用于:如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果为0,则在监听到所述当前绘制帧率进入第一绘制帧时,将所述动画渲染接入信号对应的动画绘制帧率的首个绘制帧与所述第一绘制帧对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述对齐单元具体用于:
如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果不为0,则从所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中确定基准帧率和待对齐帧率;其中,所述基准帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较大绘制帧率,所述待对齐帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较小绘制帧率;
将所述待对齐帧率向所述基准帧率进行对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述对齐单元还用于:
在监听到所述基准帧率进入第二绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第二绘制帧对齐;
在监听到所述基准帧率进入第三绘制帧时,确定所述待对齐帧率中的当前帧是否为绘制帧;其中,所述第三绘制帧位于所述第二绘制帧之后;
如果确定所述待对齐帧率中的当前帧不是绘制帧,则确定所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述待对齐帧率中的下一帧为绘制帧,则通过将所述待对齐帧率中的下一帧与当前帧进行跳转交换,与所述基准帧率中的所述第三绘制帧对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述对齐单元还用于:
在监听到所述基准帧率进入第四绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第四绘制帧对齐;
在确定所述基准帧率中的当前帧不是绘制帧,且所述待对齐帧率中的当前帧为绘制帧时,确定所述基准帧率和所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述基准帧率中的下一帧是绘制帧,且所述待对齐帧率中的下一帧不是绘制帧,则通过将所述待对齐帧率中的当前帧与下一帧进行跳转交换,与所述基准帧率中的下一帧对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述动画帧率的处理装置,还包括:
第一判断模块,用于当接收到动画渲染退出信号时,确定所述动画渲染退出信号对应的动画绘制帧率是否小于当前绘制帧率;
第二判断模块,用于如果确定所述动画渲染退出信号对应的动画绘制帧率不小于所述当前绘制帧率,则确定当前正在绘制的动画的个数是否大于1;
重新对齐模块,用于如果确定所述个数大于1,则触发将所述当前正在绘制的动画的帧率进行重新对齐。
根据本公开的一个或多个实施例,本公开提供的动画帧率的处理装置中,所述动画帧率的处理装置,还包括:
第三判断模块,用于确定所述当前绘制帧率是否低于满负载帧率;
相应地,所述对齐模块具体用于:在确定所述当前绘制帧率低于所述满负载帧率时,通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
根据本公开的一个或多个实施例,本公开提供了一种设备,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如本公开提供的任一所述的动画帧率的处理方法。
根据本公开的一个或多个实施例,本公开提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开提供的任一所述的动画帧率的处理方法。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (12)
1.一种动画帧率的处理方法,其特征在于,所述方法包括:
当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
2.根据权利要求1所述的方法,其特征在于,所述通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制,包括:
确定所述当前绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第一间隔帧数;
以及,确定所述动画渲染接入信号对应的动画绘制帧率中相邻两个绘制帧之间的间隔帧数,作为第二间隔帧数;
基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理;
在对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理的过程中,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
3.根据权利要求2所述的方法,其特征在于,所述基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,包括:
如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果为0,则在监听到所述当前绘制帧率进入第一绘制帧时,将所述动画渲染接入信号对应的动画绘制帧率的首个绘制帧与所述第一绘制帧对齐。
4.根据权利要求2所述的方法,其特征在于,所述基于所述第一间隔帧数和所述第二间隔帧数的取模结果,对所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,包括:
如果确定所述第一间隔帧数与所述第二间隔帧数的取模结果不为0,则从所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中确定基准帧率和待对齐帧率;其中,所述基准帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较大绘制帧率,所述待对齐帧率为所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率中的较小绘制帧率;
将所述待对齐帧率向所述基准帧率进行对齐。
5.根据权利要求4所述的方法,其特征在于,所述将所述待对齐帧率向所述基准帧率进行对齐,包括:
在监听到所述基准帧率进入第二绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第二绘制帧对齐;
在监听到所述基准帧率进入第三绘制帧时,确定所述待对齐帧率中的当前帧是否为绘制帧;其中,所述第三绘制帧位于所述第二绘制帧之后;
如果确定所述待对齐帧率中的当前帧不是绘制帧,则确定所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述待对齐帧率中的下一帧为绘制帧,则通过将所述待对齐帧率中的下一帧与当前帧进行跳转交换,与所述基准帧率中的所述第三绘制帧对齐。
6.根据权利要求4所述的方法,其特征在于,所述将所述待对齐帧率向所述基准帧率进行对齐,包括:
在监听到所述基准帧率进入第四绘制帧时,将所述待对齐帧率中的首个绘制帧与所述第四绘制帧对齐;
在确定所述基准帧率中的当前帧不是绘制帧,且所述待对齐帧率中的当前帧为绘制帧时,确定所述基准帧率和所述待对齐帧率中的下一帧是否为绘制帧;
如果确定所述基准帧率中的下一帧是绘制帧,且所述待对齐帧率中的下一帧不是绘制帧,则通过将所述待对齐帧率中的当前帧与下一帧进行跳转交换,与所述基准帧率中的下一帧对齐。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到动画渲染退出信号时,确定所述动画渲染退出信号对应的动画绘制帧率是否小于当前绘制帧率;
如果确定所述动画渲染退出信号对应的动画绘制帧率不小于所述当前绘制帧率,则确定当前正在绘制的动画的个数是否大于1;
如果确定所述个数大于1,则触发将所述当前正在绘制的动画的帧率进行重新对齐。
8.根据权利要求1所述的方法,其特征在于,所述通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制之前,还包括:
确定所述当前绘制帧率是否低于满负载帧率;
相应的,所述通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制,包括:
在确定所述当前绘制帧率低于所述满负载帧率时,通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
9.一种动画帧率的处理装置,其特征在于,所述装置包括:
确定模块,用于当接收到动画渲染接入信号时,确定当前是否存在正在绘制的动画;
获取模块,用于如果确定当前存在正在绘制的动画,则获取当前绘制帧率;
对齐模块,用于通过将所述当前绘制帧率与所述动画渲染接入信号对应的动画绘制帧率进行对齐处理,对所述正在绘制的动画和所述动画渲染接入信号对应的动画进行绘制。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备实现如权利要求1-8任一项所述的动画帧率的处理方法。
11.一种设备,其特征在于,包括:存储器,处理器,及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-8任一项所述的动画帧率的处理方法。
12.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如权利要求1-8任一项所述的动画帧率的处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111040051.3A CN115775290A (zh) | 2021-09-06 | 2021-09-06 | 动画帧率的处理方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111040051.3A CN115775290A (zh) | 2021-09-06 | 2021-09-06 | 动画帧率的处理方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115775290A true CN115775290A (zh) | 2023-03-10 |
Family
ID=85387389
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111040051.3A Pending CN115775290A (zh) | 2021-09-06 | 2021-09-06 | 动画帧率的处理方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115775290A (zh) |
-
2021
- 2021-09-06 CN CN202111040051.3A patent/CN115775290A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362266B (zh) | 提示信息显示方法、系统、电子设备和计算机可读介质 | |
CN111399956B (zh) | 应用于显示设备的内容展示方法、装置和电子设备 | |
CN110365973B (zh) | 视频的检测方法、装置、电子设备及计算机可读存储介质 | |
CN112272226B (zh) | 图片加载方法、装置及可读存储介质 | |
CN111459364B (zh) | 图标更新方法、装置和电子设备 | |
CN112379982B (zh) | 任务处理方法、装置、电子设备及计算机可读存储介质 | |
CN110636367A (zh) | 一种视频加载方法、装置、终端设备及介质 | |
CN114302208A (zh) | 视频的发布方法、装置、电子设备、存储介质和程序产品 | |
CN113535105B (zh) | 媒体文件处理方法、装置、设备、可读存储介质及产品 | |
CN110633433A (zh) | 一种页面缓存方法、装置、电子设备及存储介质 | |
CN111246273B (zh) | 视频投放方法、装置、电子设备及计算机可读介质 | |
US11750876B2 (en) | Method and apparatus for determining object adding mode, electronic device and medium | |
CN116596748A (zh) | 图像风格化处理方法、装置、设备、存储介质和程序产品 | |
CN110960857A (zh) | 一种游戏数据监控方法、装置、电子设备及存储介质 | |
CN116048371A (zh) | 应用程序中页面组件切换方法、装置、设备、介质及产品 | |
CN115775290A (zh) | 动画帧率的处理方法、装置、设备及存储介质 | |
CN111258582B (zh) | 一种窗口渲染方法、装置、计算机设备及存储介质 | |
CN114187169A (zh) | 视频特效包的生成方法、装置、设备及存储介质 | |
CN111240758A (zh) | 素材展示方法、装置、电子设备及存储介质 | |
CN113127101A (zh) | 一种应用程序的控制方法、装置、设备及介质 | |
CN112417276A (zh) | 分页数据获取方法、装置、电子设备及计算机可读存储介质 | |
CN111212302A (zh) | 视频清晰度的确定方法、装置、电子设备及存储介质 | |
CN113010300A (zh) | 图像效果的刷新方法、装置、电子设备及计算机可读存储介质 | |
CN112214665A (zh) | 内容展示方法、装置、电子设备及计算机可读存储介质 | |
CN115775289A (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 |