CN110503706B - 属性动画的帧率控制方法、装置、电子设备和存储介质 - Google Patents
属性动画的帧率控制方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN110503706B CN110503706B CN201910766991.7A CN201910766991A CN110503706B CN 110503706 B CN110503706 B CN 110503706B CN 201910766991 A CN201910766991 A CN 201910766991A CN 110503706 B CN110503706 B CN 110503706B
- Authority
- CN
- China
- Prior art keywords
- attribute
- frame rate
- attribute value
- value
- animation
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T13/00—Animation
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请提出一种属性动画的帧率控制方法、装置、电子设备和存储介质,其中,方法包括:根据属性动画的固定帧率,周期性获取目标属性的属性值;每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值;若保留,将当前获取到的属性值赋值给目标属性;根据赋值后的目标属性展示画面帧。该方法能够实现降低属性动画的帧率,限制属性动画的刷新率,降低UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
Description
技术领域
本申请涉及电子设备技术领域,尤其涉及一种属性动画的帧率控制方法、装置、电子设备和存储介质。
背景技术
目前,对于安卓属性动画的帧率控制,可以通过调用谷歌提供的官方接口,ValueAnimator类中的setFrameDelay函数,来设置全局的属性动画每帧之间的时间间隔,进而设置属性动画的帧率。但是,当动画系统使用外部定时源(比如动画系统采用屏幕刷新率作为外部定时源,其中,手机屏幕刷新率一般为60帧每秒)来控制动画时,设置帧延迟将会被忽略,即setFrameDelay函数设置无效。
然而,无法控制动画帧率,若刷新率过高,则会增加系统功耗,造成性能浪费。并且,在大部分设备上无法控制属性动画的刷新率,尤其在某些性能较低的电子设备,比如带屏音箱里,采用如此高刷新率的动画,将导致系统出现卡顿现象,严重降低了用户的使用体验。
发明内容
本申请在于提出一种属性动画的帧率控制方法、装置、电子设备和存储介质,用于解决现有技术中系统出现卡顿现象的技术问题。
本申请第一方面实施例提出了一种属性动画的帧率控制方法,包括:
根据属性动画的固定帧率,周期性获取目标属性的属性值;
每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值;
若保留,将当前获取到的属性值赋值给目标属性;
根据赋值后的目标属性展示画面帧。
作为本申请第一方面实施例的第一种可能的实现方式,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,包括:
根据目标帧率与固定帧率之间比值,确定筛选比例;
根据筛选比例,判断是否筛选掉当前获取到的属性值。
作为本申请第一方面实施例的第二种可能的实现方式,根据筛选比例,判断是否筛选掉当前获取到的属性值,包括:
将筛选比例和当前获取到的属性值的序号代入过滤函数;其中,过滤函数的函数值,用于采用筛选比例的倒数对序号求余数;
若函数值为零,确定保留当前获取到的属性值;
若函数值不为零,确定筛选掉当前获取到的属性值。
作为本申请第一方面实施例的第三种可能的实现方式,将筛选比例和当前获取到的属性值的序号代入过滤函数之前,还包括:
若周期性获取到的各属性值为取值连续的整数,将当前获取到的属性值作为序号。
作为本申请第一方面实施例的第四种可能的实现方式,若周期性获取到的各属性值为取值连续的整数,则将当前获取到的属性值作为序号之前,还包括:
若周期性获取到的各属性值的数据类型为浮点型,则将每一个属性值乘以设定倍数,以转换为整型。
作为本申请第一方面实施例的第五种可能的实现方式,根据赋值后的目标属性展示画面帧,包括:
根据赋值后的目标属性进行重绘,以得到一帧画面帧;
对一帧画面帧进行展示。
本申请实施例的属性动画的帧率控制方法,通过根据属性动画的固定帧率,周期性获取目标属性的属性值,每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,若保留,将当前获取到的属性值赋值给目标属性,并根据赋值后的目标属性展示画面帧。由此,通过增加帧过滤机制,可以实现降低属性动画的帧率,限制属性动画的刷新率,降低UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
本申请第二方面实施例提出了一种属性动画的帧率控制装置,包括:
获取模块,用于根据属性动画的固定帧率,周期性获取目标属性的属性值;
判断模块,用于每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值;
赋值模块,用于若保留,将当前获取到的属性值赋值给目标属性;
展示模块,用于根据赋值后的目标属性展示画面帧。
作为本申请第二方面实施例的第一种可能的实现方式,判断模块,包括:
确定子模块,用于根据目标帧率与固定帧率之间比值,确定筛选比例;
判断子模块,用于根据筛选比例,判断是否筛选掉当前获取到的属性值。
作为本申请第二方面实施例的第二种可能的实现方式,判断子模块,具体用于:
将筛选比例和当前获取到的属性值的序号代入过滤函数;其中,过滤函数的函数值,用于采用筛选比例的倒数对序号求余数;
若函数值为零,确定保留当前获取到的属性值;
若函数值不为零,确定筛选掉当前获取到的属性值。
作为本申请第二方面实施例的第三种可能的实现方式,判断子模块,还用于:
若周期性获取到的各属性值为取值连续的整数,则将当前获取到的属性值作为序号。
作为本申请第二方面实施例的第四种可能的实现方式,判断子模块,还用于:
若周期性获取到的各属性值的数据类型为浮点型,则将每一个属性值乘以设定倍数,以转换为整型。
作为本申请第二方面实施例的第五种可能的实现方式,展示模块,具体用于:
根据赋值后的目标属性进行重绘,以得到一帧画面帧;
对一帧画面帧进行展示。
本申请实施例的属性动画的帧率控制装置,通过根据属性动画的固定帧率,周期性获取目标属性的属性值,每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,若保留,将当前获取到的属性值赋值给目标属性,并根据赋值后的目标属性展示画面帧。由此,通过增加帧过滤机制,可以实现降低属性动画的帧率,限制属性动画的刷新率,降低UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
本申请第三方面实施例提出了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本申请第一方面实施例提出的属性动画的帧率控制方法。
本申请第四方面实施例提出了一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面实施例提出的属性动画的帧率控制方法。
本申请附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请实施例一所提供的属性动画的帧率控制方法的流程示意图;
图2为属性动画的实现原理示意图;
图3为本申请实施例二所提供的属性动画的帧率控制方法的流程示意图;
图4为本申请实施例三所提供的属性动画的帧率控制方法的流程示意图;
图5为本申请实施例中帧率控制的实现原理示意图;
图6为本申请实施例四所提供的属性动画的帧率控制装置的结构示意图;
图7为本申请实施例五所提供的属性动画的帧率控制装置的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本申请,而不能理解为对本申请的限制。
本申请主要针对现有技术中导致系统出现卡顿现象的技术问题,提出一种属性动画的帧率控制方法。
本申请实施例的属性动画的帧率控制方法,通过根据属性动画的固定帧率,周期性获取目标属性的属性值,每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,若保留,将当前获取到的属性值赋值给目标属性,并根据赋值后的目标属性展示画面帧。由此,通过增加帧过滤机制,可以实现降低属性动画的帧率,限制属性动画的刷新率,降低UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
下面参考附图描述本申请实施例的属性动画的帧率控制方法、装置、电子设备和存储介质。在具体描述本发明实施例之前,为了便于理解,首先对常用技术词进行介绍:
属性动画,是指动画的执行类来设置动画操作的对象的属性、持续时间,开始和结束的属性值,时间差值等,由系统根据设置的参数动态的变化对象的属性。属性动画的本质原理为,通过不断对属性值进行改变,并不断将该属性值赋给对象的属性,从而实现该对象在该属性上的动画效果。
图1为本申请实施例一所提供的属性动画的帧率控制方法的流程示意图。
本申请实施例以该属性动画的帧率控制方法被配置于属性动画的帧率控制装置中来举例说明,该属性动画的帧率控制装置可以应用于任一电子设备中,以使该电子设备可以执行属性动画的帧率控制功能。
其中,电子设备可以为个人电脑(Personal Computer,简称PC)、云端设备、移动设备等,移动设备例如可以为手机、平板电脑、个人数字助理、穿戴式设备、车载设备等具有各种操作系统、触摸屏和/或显示屏的硬件设备。
如图1所示,该属性动画的帧率控制方法可以包括以下步骤:
步骤101,根据属性动画的固定帧率,周期性获取目标属性的属性值。
属性动画是通过改变动画视图View的属性使View重绘来实现动画效果的,其实现原理如图2所示。在开始时,可以设置动画的运行时长、动画效果、对应属性的初始值和结束值,以及设置属性值从初始值过渡到结束值的变化逻辑,之后,根据设置的变化逻辑不断地改变属性值,属性值每改变一次,则相应的给对象的属性值赋值一次,每次赋值引起View重绘,而每次重绘制视图便实现了动画效果。判断属性值是否等于结束值,若是,则结束。
根据图2的逻辑,实现动画的帧数为:运行时长(秒)*60+2,首尾有两帧关键帧,中间帧与电子设备屏幕刷新率一致,是不可改变的。然而,在一些低性能的电子设备中,如此高帧率的动画会导致中央处理器(Central Processing Unit,简称CPU)占用过高,使得系统变得卡顿,从而影响其他应用(Application,简称APP)的正常使用,导致其他APP无法流畅运行。
因此,本申请提供的属性动画的帧率控制方法,在不涉及系统框架层修改的情况下,通过控制属性动画的帧率,来限定属性动画的刷新率,降低用户界面(User Interface,简称UI)刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
本申请实施例中,属性动画中属性项和属性值之间具有对应关系,每个属性项具有对应的属性的初始值和结束值。针对属性动画中的每个属性项,例如目标属性,可以根据属性动画的固定帧率,周期性地获取该目标属性的属性值。例如,当目标属性为属性A时,针对属性A,可以根据属性动画的固定帧率,从该属性A对应的初始值到结束值之间,周期性地获取属性值。
举例而言,当属性动画的固定帧率为60时,针对属性A,第一次获取的属性值可以为该属性A对应的初始值,间隔1/60秒后,获取第二个属性值(初始值+预设步长),再次间隔1/60秒后,获取第三个属性值(初始值+2个预设步长),…,最后一次,获取结束值。比如,周期性获取到的各属性值为取值连续的整数时,预设步长为1。
步骤102,每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值。
本申请实施例中,需调整至的目标帧率为预先设置的,该目标帧率小于固定帧率,以降低属性动画的帧率。
具体地,每当获取到一个属性值时,可以根据属性动画的固定帧率、需调整值的目标帧率以及预设筛选机制,判断是否筛选掉当前获取的属性值。
步骤103,若保留,将当前获取到的属性值赋值给目标属性。
本申请实施例中,目标属性为当前获取到的属性值对应的属性,仍以上述例子示例,目标属性可以为属性A。
本申请实施例中,当确定筛选掉当前获取到的属性值时,可以丢弃该属性值,而当确定保留当前获取到的属性值时,可以将获取到的属性值赋值给目标属性。
步骤104,根据赋值后的目标属性展示画面帧。
本申请实施例中,可以根据赋值后的目标属性,展示画面帧。在本申请实施例的一种可能的实现方式中,可以根据赋值后的目标属性进行重绘,以得到一帧画面帧,之后,可以对上述一帧画面帧进行展示。
本申请实施例的属性动画的帧率控制方法,通过根据属性动画的固定帧率,周期性获取目标属性的属性值,每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,若保留,将当前获取到的属性值赋值给目标属性,并根据赋值后的目标属性展示画面帧。由此,通过增加帧过滤机制,可以实现降低属性动画的帧率,限制属性动画的刷新率,降低UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
作为一种可能的实现方式,在根据预设筛选机制,判断是否筛选掉当前获取的属性值时,可以根据目标帧率与固定帧率的比值,确定筛选比值,根据筛选比值,来判断是否筛选掉当前获取到的属性值。下面结合实施例二,对上述过程进行详细说明。
图3为本申请实施例二所提供的属性动画的帧率控制方法的流程示意图。
如图3所示,在图1所示实施例的基础上,步骤102具体可以包括以下子步骤:
步骤201,根据目标帧率与固定帧率之间比值,确定筛选比例。
例如,当目标帧率为20,固定帧率为60时,筛选比例为1/3。再例如,当目标帧率为30时,固定帧率为60时,筛选比例为1/2。
步骤202,根据筛选比例,判断是否筛选掉当前获取到的属性值。
本申请实施例中,在确定筛选比例后,可以根据筛选比例,判断是否筛选掉当前获取到的属性值。
在本申请实施例的一种可能的实现方式中,可以根据筛选比例和当前获取到的属性值的序号以及过滤函数,确定是否筛选掉当前获取到的属性值。下面结合实施例三,对上述过程进行详细说明。
图4为本申请实施例三所提供的属性动画的帧率控制方法的流程示意图。
如图4所示,在图3所示实施例的基础上,步骤201具体可以包括以下子步骤:
步骤301,将筛选比例和当前获取到的属性值的序号代入过滤函数;其中,过滤函数的函数值,用于采用筛选比例的倒数对序号求余数。
需要说明的是,属性动画针对的View的属性具有整型和浮点型,浮点型可根据需求精度转换为整型。因此,本申请中,若周期性获取到的各属性值为取值连续的整数,则可以将当前获取到的属性值作为该属性值对应的序号,而若周期性获取到的各属性值的数据类型为浮点型,则将每一个属性值乘以设定倍数,以转换为整型。例如,当View的属性为透明度属性时,透明度属性的属性值为0至1之间的浮点值,则设定倍数可以为100,将每一个属性值乘以100,转换为整型,从而可以将当前获取到的属性值进行转换后的整数作为对应的序号。
本申请实施例中,标记当前获取到的属性值的序号为x,筛选比例为P,则过滤后的函数值为:x%(1/P)。
步骤302,若函数值为零,确定保留当前获取到的属性值。
本申请实施例中,当x%(1/P)=0时,则确定保留当前获取到的属性值。
举例而言,当P=1/3时,则当x%3=0时,确定保留当前获取到的属性值。例如,当前获取到的属性值对应的目标属性为属性A(整型),属性A的初始值为0,结束值为100,则保留的属性值可以为1到100内除以3等于0的数值,即保留的为0到100内3的整数倍的属性值,具体为0、3、6、9、12、…、93、96、99。由此,可以实现将属性动画的帧率降低为之前的1/3。
再例如,当前获取到的属性值对应的目标属性为属性B(浮点型),属性B为0至1之间的浮点值,则可以将每一个属性值乘以设定倍数,以得到整型的符号。假设当P=1/2时,则当X%2=0时,则保留的符号可以为1到100内除以2等于0的数值,即保留的为偶数符号/设定倍数的属性值。由此,可以实现将属性动画的帧率减半。
步骤303,若函数值不为零,确定筛选掉当前获取到的属性值。
本申请实施例中,当x%(1/P)≠0时,则确定筛选掉当前获取到的属性值。
仍以上述例子示例,当目标属性为属性A(整型)时,筛选掉的为0到100内非3的整数倍的属性值,具体为1、2、4、5、7、8、10、…、97、98、100。或者,当目标属性为属性B(浮点型)时,筛选掉的为奇数符号/设定倍数的属性值。
综上,针对0到n的整型符号,过滤函数为:f(x)=x%(1/P)。其中,P=N/I,N表示目标帧率,I表示固定帧率,则可以将过滤函数简化为:f(x)=x%(I/N)=x*N%I。当f(x)=x*N%I=0时,确定保留该符号对应的属性值。
本申请中,在不涉及系统框架层的修改的情况下,通过如图5所示的流程,可以实现降低属性动画的帧率。
具体地,可以设置每个属性动画对应的运行时长、动画效果、对应属性的初始值和结束值,设置属性值从初始值过渡到结束值的变化逻辑,之后,根据变化逻辑不断地改变属性值(例如,根据固定帧率,周期性获取目标属性的属性值),判断改变后的属性值(获取的属性值)是否满足过滤函数(函数值等于0),若是,则将属性值赋值给对应的属性进行重绘,每次绘制视图便实现了动画效果,判断改变后的属性值(获取的属性值)是否等于结束值,若是,则结束,若否,则重新获取属性值,并进行后续判断过程。
图2中,属性值每改变一次就给对象的属性赋值一次,需要对所有的属性值进行重绘,属性动画的帧率较大,而图5中,属性值改变之后,需要根据过滤函数来判断是否保留该属性值,以根据保留的属性值对目标属性进行赋值,根据赋值后的目标属性进行重绘,可以降低属性动画的帧率。即本申请中,增加帧过滤机制,可以实现在低性能的电子设备上限制属性动画的刷新率,减小UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
为了实现上述实施例,本申请还提出一种属性动画的帧率控制装置。
图6为本申请实施例四所提供的属性动画的帧率控制装置的结构示意图。
如图6所示,该属性动画的帧率控制装置包括:获取模块110、判断模块120、赋值模块130以及展示模块140。
其中,获取模块110,用于根据属性动画的固定帧率,周期性获取目标属性的属性值。
判断模块120,用于每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值。
赋值模块130,用于若保留,将当前获取到的属性值赋值给目标属性。
展示模块140,用于根据赋值后的目标属性展示画面帧。
进一步地,在本申请实施例的一种可能的实现方式中,参见图7,在图6所示实施例的基础上,判断模块120,包括:
确定子模块121,用于根据目标帧率与固定帧率之间比值,确定筛选比例。
判断子模块122,用于根据筛选比例,判断是否筛选掉当前获取到的属性值。
作为一种可能的实现方式,判断子模块122,具体用于:将筛选比例和当前获取到的属性值的序号代入过滤函数;其中,过滤函数的函数值,用于采用筛选比例的倒数对序号求余数;若函数值为零,确定保留当前获取到的属性值;若函数值不为零,确定筛选掉当前获取到的属性值。
作为另一种可能的实现方式,判断子模块122,还用于:若周期性获取到的各属性值为取值连续的整数,则将当前获取到的属性值作为序号。
作为又一种可能的实现方式,判断子模块122,还用于:若周期性获取到的各属性值的数据类型为浮点型,则将每一个属性值乘以设定倍数,以转换为整型。
作为一种可能的实现方式,展示模块140,具体用于:根据赋值后的目标属性进行重绘,以得到一帧画面帧;对一帧画面帧进行展示。
需要说明的是,前述对属性动画的帧率控制方法实施例的解释说明也适用于该实施例的属性动画的帧率控制装置,此处不再赘述。
本申请实施例的属性动画的帧率控制装置,通过根据属性动画的固定帧率,周期性获取目标属性的属性值,每当获取到一个属性值,根据属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,若保留,将当前获取到的属性值赋值给目标属性,并根据赋值后的目标属性展示画面帧。由此,通过增加帧过滤机制,可以实现降低属性动画的帧率,限制属性动画的刷新率,降低UI刷新占CPU的比值,提升系统的流畅度,改善用户的使用体验。
为了实现上述实施例,本申请还提出一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如本申请前述实施例提出的属性动画的帧率控制方法。
为了实现上述实施例,本申请还提出一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请前述实施例提出的属性动画的帧率控制方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (6)
1.一种属性动画的帧率控制方法,其特征在于,所述方法包括以下步骤:
根据属性动画的固定帧率,周期性获取目标属性的属性值;
每当获取到一个属性值,根据所述属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值;
若保留,将当前获取到的属性值赋值给所述目标属性;
根据赋值后的所述目标属性展示画面帧;
所述根据所述属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值,包括:
根据所述目标帧率与所述固定帧率之间比值,确定筛选比例;
根据所述筛选比例,判断是否筛选掉当前获取到的属性值;
所述根据所述筛选比例,判断是否筛选掉当前获取到的属性值,包括:
将所述筛选比例和当前获取到的属性值的序号代入过滤函数;其中,所述过滤函数的函数值,用于采用所述筛选比例的倒数对所述序号求余数;
若所述函数值为零,确定保留当前获取到的属性值;
若所述函数值不为零,确定筛选掉当前获取到的属性值;
所述根据赋值后的所述目标属性展示画面帧,包括:
根据赋值后的所述目标属性进行重绘,以得到一帧画面帧;
对所述一帧画面帧进行展示。
2.根据权利要求1所述的帧率控制方法,其特征在于,所述将所述筛选比例和当前获取到的属性值的序号代入过滤函数之前,还包括:
若周期性获取到的各属性值为取值连续的整数,则将当前获取到的属性值作为所述序号。
3.根据权利要求2所述的帧率控制方法,其特征在于,所述若周期性获取到的各属性值为取值连续的整数,将当前获取到的属性值作为所述序号之前,还包括:
若周期性获取到的各属性值的数据类型为浮点型,则将每一个属性值乘以设定倍数,以转换为整型。
4.一种属性动画的帧率控制装置,其特征在于,所述装置包括:
获取模块,用于根据属性动画的固定帧率,周期性获取目标属性的属性值;
判断模块,用于每当获取到一个属性值,根据所述属性动画的固定帧率和需调整至的目标帧率,判断是否筛选掉当前获取到的属性值;
赋值模块,用于若保留,将当前获取到的属性值赋值给所述目标属性;
展示模块,用于根据赋值后的所述目标属性展示画面帧;
所述判断模块,包括:
确定子模块,用于根据所述目标帧率与所述固定帧率之间比值,确定筛选比例;
判断子模块,用于根据所述筛选比例,判断是否筛选掉当前获取到的属性值;
所述判断子模块还用于将所述筛选比例和当前获取到的属性值的序号代入过滤函数;其中,所述过滤函数的函数值,用于采用所述筛选比例的倒数对所述序号求余数;若所述函数值为零,确定保留当前获取到的属性值;若所述函数值不为零,确定筛选掉当前获取到的属性值。
5.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时,实现如权利要求1-3中任一所述的属性动画的帧率控制方法。
6.一种非临时性计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-3中任一所述的属性动画的帧率控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910766991.7A CN110503706B (zh) | 2019-08-19 | 2019-08-19 | 属性动画的帧率控制方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910766991.7A CN110503706B (zh) | 2019-08-19 | 2019-08-19 | 属性动画的帧率控制方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110503706A CN110503706A (zh) | 2019-11-26 |
CN110503706B true CN110503706B (zh) | 2023-03-28 |
Family
ID=68588353
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910766991.7A Active CN110503706B (zh) | 2019-08-19 | 2019-08-19 | 属性动画的帧率控制方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110503706B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112449243B (zh) * | 2021-01-28 | 2021-06-15 | 浙江华创视讯科技有限公司 | 一种视频处理方法、装置、设备及存储介质 |
CN115665482B (zh) * | 2022-11-09 | 2023-06-30 | 腾讯科技(深圳)有限公司 | 视频渲染方法、装置、计算机设备和存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193515A (zh) * | 2017-04-10 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 动画显示流畅度的监控方法、装置及其设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10281291B2 (en) * | 2017-05-31 | 2019-05-07 | Here Global B.V. | Graphical user interface for smooth animation rendering of probe points |
-
2019
- 2019-08-19 CN CN201910766991.7A patent/CN110503706B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193515A (zh) * | 2017-04-10 | 2017-09-22 | 腾讯科技(深圳)有限公司 | 动画显示流畅度的监控方法、装置及其设备 |
Non-Patent Citations (1)
Title |
---|
一种高效的SVG动画自适应渲染算法;周宇轩等;《微电子学与计算机》;20170805(第08期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110503706A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9104296B2 (en) | Rocket effect in a progress bar | |
US9142044B2 (en) | Apparatus, systems and methods for layout of scene graphs using node bounding areas | |
EP4002281A1 (en) | Layer composition method and apparatus, electronic device, and storage medium | |
CN110503706B (zh) | 属性动画的帧率控制方法、装置、电子设备和存储介质 | |
CN105786417B (zh) | 一种静态图片的动态显示方法、装置及设备 | |
CN111161684B (zh) | 一种背光控制方法、装置、背光模组以及显示装置 | |
TWI547853B (zh) | 使用者介面顯示系統及方法 | |
CN110647378A (zh) | 动态图像的加载方法、装置和电子设备 | |
CN108509241B (zh) | 一种图像的全屏显示方法、全屏显示装置及移动终端 | |
KR101154996B1 (ko) | 이동통신 단말기 및 그 메뉴화면 구성 방법 | |
CN110471700B (zh) | 图形处理方法、装置、存储介质及电子设备 | |
CN108021366B (zh) | 界面动画实现方法、装置、电子设备、存储介质 | |
US10127001B2 (en) | Virtualizing applications for per-monitor displaying | |
CN112528614A (zh) | 一种表格编辑方法、装置和电子设备 | |
CN117062277A (zh) | 一种灯光设备与显示器色彩的同步方法、装置及设备 | |
US20160048979A1 (en) | Desktop management method and electronic device with desktop management function | |
CN116363254A (zh) | 一种数据图绘制和缩放方法、系统和存储介质 | |
CN107257976B (zh) | 用于分辨率依赖的信号图形表示的装置、方法和系统 | |
CN115033199A (zh) | 移动终端及其图像显示方法 | |
CN114063945A (zh) | 移动终端及其图像显示方法 | |
US20150277676A1 (en) | Creating an interaction area for listing user-selectable items | |
CN113961280A (zh) | 视图的展示方法、装置、电子设备及计算机可读存储介质 | |
CN110781652B (zh) | 一种在柱状类图表上绘制粒子和光效的方法及装置 | |
CN108389223B (zh) | 一种图像处理方法及终端 | |
CN114494621A (zh) | 一种基于建筑物3d模型的展示控制方法和装置 |
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 |