网页动画处理方法、装置、电子设备及存储介质与流程

文档序号:26852148发布日期:2021-10-09 02:19阅读:72来源:国知局
网页动画处理方法、装置、电子设备及存储介质与流程

1.本公开涉及动画渲染,尤其涉及一种网页动画处理方法、装置、电子设备及存储介质。


背景技术:

2.随着客户端技术的发展,开发者可以通过特效制作软件在客户端添加动画特效,提高客户端界面的交互性和美观性。实际应用中,通过特效制作软件生成的动画特效在客户端上运行时,往往会占用终端设备大量的计算资源,容易造成交互反馈延迟,产生明显卡顿,影响用户的使用体验。
3.在现有技术中,为了保证客户端的稳定运行,可以获取终端设备的硬件参数,根据硬件参数确定终端设备对应的性能等级,进而可以在客户端交互功能正常使用的前提下,根据性能等级确定动画特效在该终端设备上的运行方式。
4.然而,不同的动画特效对终端设备的性能消耗存在差异,上述基于终端设备性能的动效调整方式过于生硬,降低了特效运行方式调整的准确性。


技术实现要素:

5.本公开提供一种网页动画处理方法、装置、电子设备及存储介质,以至少解决相关技术中特效运行方式调整准确性低的问题。本公开的技术方案如下:
6.根据本公开实施例的第一方面,提供一种网页动画处理方法,包括:
7.在当前展示的网页中包含动画的情况下,获取用于更新动画帧的目标函数当前的运行频率;所述运行频率表征所述目标函数单位时间内运行的次数;
8.确定所述运行频率相对于所述目标函数的历史运行频率的变化量;
9.根据所述变化量调节所述目标函数的运行频率。
10.在一示例性实施例中,所述根据所述变化量调节所述目标函数的运行频率,包括:
11.若所述变化量为负向变化量,且所述负向变化量达到预设的第一变化量阈值,则调低所述目标函数的运行频率;所述负向变化量表征所述目标函数的运行频率相对于所述目标函数的历史运行频率降低。
12.在一示例性实施例中,所述根据所述变化量调节所述目标函数的运行频率,包括:
13.若所述变化量为正向变化量,且所述正向变化量达到预设的第二变化量阈值,则调高所述目标函数的运行频率;所述正向变化量表征所述目标函数的运行频率相对于所述目标函数的历史运行频率升高。
14.在一示例性实施例中,所述根据所述变化量调节所述目标函数的运行频率,包括:
15.若所述变化量为负向变化量,获取所述网页中动画当前的渲染频率;所述渲染频率为浏览器渲染所述目标函数更新后的动画帧的频率;
16.若确定所述渲染频率与预设的低渲染频率阈值之间的差值大于预设差值,以及,所述渲染频率不大于预设的高渲染频率阈值且不小于预设的低渲染频率阈值,则调低所述
目标函数的运行频率;所述低渲染频率阈值为所述网页中动画满足预设的最低流畅度时的渲染频率,所述高渲染频率阈值为所述网页中动画达到预设的可感知流畅度时的渲染频率;
17.若确定所述差值不大于所述预设差值,或者,所述渲染频率小于或等于所述低渲染频率阈值,则暂停运行所述目标函数。
18.在一示例性实施例中,所述调低所述目标函数的运行频率,包括:
19.若确定先前存在调高所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调高次数和累计调高幅度;
20.根据所述累计调高次数和所述累计调高幅度,确定本次调低的降低幅度;
21.采用所述降低幅度调低所述目标函数的运行频率。
22.在一示例性实施例中,所述调低所述目标函数的运行频率,还包括:
23.若确定先前不存在调高所述目标函数的运行频率的调节记录,则获取预设调低幅度,并按照预设调低幅调低所述目标函数的运行频率。
24.在一示例性实施例中,在所述调高所述目标函数的运行频率之前,所述方法还包括:
25.获取所述网页中动画当前的渲染频率;
26.当所述渲染频率大于预设的高渲染频率阈值时,保持当前的运行频率;
27.当所述渲染频率不大于所述高渲染频率阈值且不小于预设的低渲染频率阈值时,执行所述调高所述目标函数的运行频率。
28.在一示例性实施例中,所述调高所述目标函数的运行频率,包括:
29.若确定先前存在调低所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调低次数和累计调低幅度;
30.根据所述累计调低次数和所述累计调低幅度,确定本次调高的增加幅度;
31.采用所述增加幅度调高所述目标函数的运行频率。
32.在一示例性实施例中,所述调高所述目标函数的运行频率,还包括:
33.若确定先前不存在调低所述目标函数的运行频率的调节记录,则获取预设增加幅度,并按照所述预设增加幅度调高所述目标函数的运行频率。
34.在一示例性实施例中,还包括:
35.获取初始的用于更新动画帧的目标函数,所述目标函数为浏览器的内置函数;
36.对所述目标函数进行函数包装,以通过所述函数包装控制所述目标函数的运行频率。
37.在一示例性实施例中,所述获取用于更新动画帧的目标函数当前的运行频率,包括:
38.记录所述目标函数每一次运行时的运行时间;
39.根据最近记录的多个所述运行时间,以及在多个所述运行时间对应的时间范围内所述目标函数的运行次数,确定所述目标函数对应的运行频率。
40.根据本公开实施例的第二方面,提供一种网页动画处理装置,包括:
41.运行频率获取单元,被配置为在当前展示的网页中包含动画的情况下,获取用于更新动画帧的目标函数当前的运行频率;所述运行频率表征所述目标函数单位时间内运行
的次数;
42.变化量确定单元,被配置为确定所述运行频率相对于所述目标函数的历史运行频率的变化量;
43.运行频率调整单元,被配置为根据所述变化量调节所述目标函数的运行频率。
44.在一示例性实施例中,所述运行频率调整单元,包括:
45.运行频率调低模块,被配置为若所述变化量为负向变化量,且所述负向变化量达到预设的第一变化量阈值,则调低所述目标函数的运行频率;所述负向变化量表征所述目标函数的运行频率相对于所述目标函数的历史运行频率降低。
46.在一示例性实施例中,所述运行频率调整单元,包括:
47.运行频率调高模块,被配置为若所述变化量为正向变化量,且所述正向变化量达到预设的第二变化量阈值,则调高所述目标函数的运行频率;所述正向变化量表征所述目标函数的运行频率相对于所述目标函数的历史运行频率升高。
48.在一示例性实施例中,所述运行频率调整单元,包括:
49.第一渲染频率获取模块,被配置为若所述变化量为负向变化量,获取所述网页中动画当前的渲染频率;所述渲染频率为浏览器渲染所述目标函数更新后的动画帧的频率;
50.第二降低模块,被配置为若确定所述渲染频率与预设的低渲染频率阈值之间的差值大于预设差值,以及,所述渲染频率不大于预设的高渲染频率阈值且不小于预设的低渲染频率阈值,则调低所述目标函数的运行频率;所述低渲染频率阈值为所述网页中动画满足预设的最低流畅度时的渲染频率,所述高渲染频率阈值为所述网页中动画达到预设的可感知流畅度时的渲染频率;
51.暂停模块,被配置为若确定所述差值不大于所述预设差值,或者,所述渲染频率小于或等于所述低渲染频率阈值,则暂停运行所述目标函数。
52.在一示例性实施例中,所述运行频率调低模块,包括:
53.累计调高次数确定模块,被配置为若确定先前存在调高所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调高次数和累计调高幅度;
54.降低幅度确定模块,被配置为根据所述累计调高次数和所述累计调高幅度,确定本次调低的降低幅度;
55.第一降低模块,被配置为采用所述降低幅度调低所述目标函数的运行频率。
56.在一示例性实施例中,所述运行频率调低模块,还包括:
57.第二降低模块,被配置为若确定先前不存在调高所述目标函数的运行频率的调节记录,则获取预设调低幅度,并按照预设调低幅调低所述目标函数的运行频率。
58.在一示例性实施例中,所述装置还包括:
59.频率获取模块,被配置为获取所述网页中动画当前的渲染频率;
60.运行频率维持模块,当所述渲染频率大于预设的高渲染频率阈值时,保持当前的运行频率;
61.频率增加模块,被配置为当所述渲染频率不大于所述高渲染频率阈值且不小于预设的低渲染频率阈值时,执行所述调高所述目标函数的运行频率。
62.在一示例性实施例中,所述运行频率调高模块,包括:
63.第二渲染频率获取模块,被配置为若确定先前存在调低所述目标函数的运行频率
的调节记录,则确定针对所述目标函数的运行频率的累计调低次数和累计调低幅度;
64.增加幅度确定模块,被配置为根据所述累计调低次数和所述累计调低幅度,确定本次调高的增加幅度;
65.第一增加模块,被配置为采用所述增加幅度调高所述目标函数的运行频率。
66.在一示例性实施例中,所述运行频率调高模块,还包括:
67.第二增加模块,被配置为若确定先前不存在调低所述目标函数的运行频率的调节记录,则获取预设增加幅度,并按照所述预设增加幅度调高所述目标函数的运行频率。
68.在一示例性实施例中,还包括:
69.目标函数获取模块,被配置为获取初始的用于更新动画帧的目标函数,所述目标函数为浏览器的内置函数;
70.函数包装模块,被配置为对所述目标函数进行函数包装,以通过所述函数包装控制所述目标函数的运行频率。
71.在一示例性实施例中,所述运行频率获取单元,包括:
72.运行时间记录模块,被配置为记录所述目标函数每一次运行时的运行时间;
73.运行频率计算模块,被配置为根据最近记录的多个所述运行时间,以及在多个所述运行时间对应的时间范围内所述目标函数的运行次数,确定所述目标函数对应的运行频率。
74.根据本公开实施例的第三方面,提供一种电子设备,包括:
75.处理器;
76.用于存储所述处理器可执行指令的存储器;
77.其中,所述处理器被配置为执行所述指令,以实现如上任一项所述的网页动画处理方法。
78.根据本公开实施例的第四方面,提供一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如如上任一项所述的网页动画处理方法。
79.根据本公开实施例的第五方面,提供一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现权利要求1至9任一项所述的网页动画处理方法。
80.本公开的实施例提供的技术方案至少带来以下有益效果:
81.在当前展示的网页中包含动画的情况下,可以获取用于更新动画帧的目标函数当前的运行频率,确定运行频率相对于目标函数的历史运行频率的变化量,根据变化量调节目标函数的运行频率,实现了运行频率的动态调整,通过获取运行频率的变化量,能够确定网页动画播放过程中对终端计算资源的实际占用情况,从而动画特效的展示方式进行适配调整,提高了运行方式调整的准确性。
82.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
83.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施
例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
84.图1是根据一示例性实施例示出的一种网页动画处理方法的应用环境图。
85.图2是根据一示例性实施例示出的一种网页动画处理方法的流程图。
86.图3是根据另一示例性实施例示出的一种网页动画处理方法的流程图。
87.图4是根据另一示例性实施例示出的一种网页动画处理方法的流程图。
88.图5是根据一示例性实施例示出的一种网页动画处理装置的框图。
89.图6是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
90.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
91.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
92.随着客户端技术的发展,开发者可以通过特效制作软件在客户端添加动画特效,提高客户端界面的交互性和美观性,特效制作软件也使得开发者通过简短的代码,即可将设计师设计的动画特效在客户端上完美呈现。实际应用中,通过特效制作软件生成的动画特效在客户端上运行时,往往会占用终端设备大量的计算资源,在性能较差的终端设备上运行时,容易造成交互反馈延迟,产生明显卡顿,影响用户的使用体验。
93.在现有技术中,为了保证客户端交互功能的稳定运行,可以获取终端设备的硬件参数,根据硬件参数确定终端设备对应的性能等级,进而可以在客户端交互功能正常使用的前提下,根据性能等级确定动画特效在该终端设备上的运行方式。例如,在高端设备中按最佳效果运行,在中端设备中降低动效频率降低计算资源占用,低端设备则关闭动效完全让出计算资源。
94.然而,不同的动画特效对终端设备的性能消耗存在差异,例如,针对设备性能要求低的动效和交互功能,实际中可以在低端机中正常运行,又如,针对设备性能要求高的使用场景,略高于中等性能标准的设备可以正常运行,略低于中等性能标准的设备则出现性能障碍,上述基于终端设备性能的动效调整方式过于生硬,难以实现细粒度的运行方式调整,降低了特效运行方式调整的准确性。基于此,本公开提供了一种网页动画处理方法,以至少解决相关技术中特效运行方式调整准确性低的问题。
95.本公开所提供的一种网页动画处理方法,可以应用于如图1所示的应用环境中。其中,终端110可以通过网络与服务器120进行交互获取网页资源,当网页资源中包括网页动画,终端110可以渲染动画帧,在终端界面中进行显示。
96.其中,终端110可以是但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
97.图2是根据一示例性实施例示出的一种网页动画处理方法的流程图,如图2所示,网页动画处理方法用于终端110中,可以包括以下步骤。
98.在步骤s210中,在当前展示的网页中包含动画的情况下,获取用于更新动画帧的目标函数当前的运行频率。
99.作为一示例,运行频率可以表征目标函数在单位时间内运行的次数。
100.网页中包含的动画可以是通过播放连续的多幅动画帧而形成的影像,作为一示例,动画可以是动画特效,例如针对与设备交互功能相关的动画,该动画特效可以是展示数据处理进度、提示用户进行指定操作的动画。此外,该动画也可以是网页动画,如网页视频中连续播放的画面;也可以是网页中的动画背景,例如用户可以通过上下滑动的方式浏览多个网页时,各网页中的动画背景。
101.在本公开中,终端110可以与服务器120进行交互并获取网页资源,并在显示界面中显示相关网页。在网页显示过程中,可以在当前展示的网页中包含动画的情况下,获取用于更新动画帧的目标函数当前的运行频率。
102.具体而言,当网页资源中包括网页动画资源,例如与交互功能关联的动画特效资源,终端可以运行目标函数,并结合已获取的网页动画资源进行动画帧的更新,实现网页动画的播放。在展示动画时,终端110可以对目标函数的运行情况进行统计,得到目标函数当前的运行频率。
103.需要说明的是,网页中包含动画的情况可以是动画播放过程中的任意时段。终端110可以从动画播放过程中的任一个或多个时间,获取目标函数当前的运行频率,例如,可以在动画开始播放至播放结束的整个过程,按照预设时间间隔获取运行频率;又如,针对动画开始播放至结束播放的播放过程,终端110可以在该播放过程中的任意一个时段,或者,多个连续或非连续的时段,获取目标函数的运行频率。
104.在步骤s220中,确定所述运行频率相对于所述目标函数的历史运行频率的变化量。
105.作为一示例,历史运行频率可以是已记录的目标函数运行频率,其可以是最近的时间范围内已记录的运行频率,如最近一次记录的运行频率,或者,也可以是对预设时间范围内已记录的多个运行频率进行处理后得到的频率值,例如平均值、中位数等。
106.在实际应用中,网页浏览器可以按照预设的时间间隔进行动画帧的渲染,在计算资源足够的情况下,终端110可以在网页浏览器下一次渲染动画帧前,通过目标函数对当前的动画帧进行更新,使得网页浏览器可以渲染更新后的动画帧,不断循环往复,实现动画效果。然而,由于通过目标函数对动画帧进行更新会占用一定量的计算资源,当计算量较大时,动画帧更新的耗时较长时,存在难以在浏览器下一次渲染前完成动画帧的更新,导致浏览器重复渲染原来的动画帧,形成“掉帧”现象。
107.当出现“掉帧”现象,可以确定终端110在展示网页中的动画时,存在资源不足的情况。在此情况下,合理的资源分配方式可以是将计算资源首先分配于终端110的主要任务,若网页动画的展示属于次要任务,继续更新、渲染动画帧则容易造成资源抢占,例如,当网页中的动画为与设备交互功能相关的动画,如与用户点击按钮、活动屏幕相关的动画特效,该动画并非主要展示对象,若继续渲染该动画特效则形成计算资源抢占,造成交互反馈延迟。
108.在本公开中,可以通过目标函数运行频率的变化量确定终端110中计算资源的使用情况。具体的,在获取到目标函数当前的运行频率后,终端110可以将该运行频率与目标函数的历史运行频率进行比较,由此得到目标函数当前的运行频率相对于历史运行频率的变化量。
109.具体实现中,若终端110首次获取目标函数当前的运行频率,则用于比较的历史运行频率可以是一用于初始化的预设值。在运行频率的采集过程汇总,终端110可以将已获取的运行频率作为历史运行频率存储,进而在下一次获取到目标函数当前的运行频率后,可以基于已存储的历史频率得到变化量。
110.在步骤s230中,根据所述变化量调节所述目标函数的运行频率。
111.在本公开中,在获取到变化量后,可以根据变化量对目标函数的运行频率进行调节。具体而言,可以根据变化量,确定目标函数当前的运行频率相对于历史运行频率是否发生变化,以及在发生变化时对应的变化程度,进而可以根据是否发生变化和变化的程度,对目标函数的运行频率进行调整。具体而言,若根据变化量确定目标函数的运行频率下降,则可以确定终端110当前存在计算资源不足的情况,并且可以采用能够释放计算资源的方式,调节目标函数的运行频率,例如调低目标函数的运行频率,进而可以将计算资源分配给终端110待处理的主要任务。若根据变化量确定目标函数的运行频率上升,则可以确定计算资源充足,此时可以采用能够充分利用计算资源的方式,调节目标函数的运行频率,如调高目标函数的运行频率,使得动画展示的流畅度可以及时提高。
112.上述网页动画处理方法中,终端110可以在当前展示的网页中包含动画的情况下,获取用于更新动画帧的目标函数当前的运行频率,确定运行频率相对于目标函数的历史运行频率的变化量,根据变化量调节目标函数的运行频率,实现了运行频率的动态调整,通过获取运行频率的变化量,能够确定网页动画播放过程中对终端110计算资源的实际占用情况,从而动画特效的展示方式进行适配调整,提高了运行方式调整的准确性。
113.在一示例性实施例中,在步骤s230中,根据所述变化量调节所述目标函数的运行频率,可以包括:
114.若所述变化量为负向变化量,且所述负向变化量达到预设的第一变化量阈值,则调低所述目标函数的运行频率。
115.作为一示例,负向变化量可以表征目标函数的运行频率相对于目标函数的历史运行频率降低。
116.在实际应用中,在获取到目标函数当前的运行频率后,可以与历史运行频率进行比较运行频率的变化量。具体而言,可以获取运行频率与历史运行频率的差值,若该差值小于零,则可以确定目标函数的运行频率相对于目标函数的历史运行频率降低,该变化量为负向变化量。
117.当变化量为负向变化量,并且该负向变化量达到预设的第一变化量阈值,则可以确定终端110当前的计算资源并不充足,导致目标函数的运行频率降低,相应地,可以调低目标函数的运行频率。
118.例如,在cpu计算资源紧缺的情况下,若检测到负向变化量并且该负向变化量达到第一变化量阈值,则可以调低目标函数的运行频率,释放部分计算资源,从而可以避免cpu长时间处于高位运算状态,减轻终端110耗电和发热导致的性能降低。又如,一个动画特效
和交互功能都极简的网页,采用本公开的方案判断可正常在低端机上运行。通过本公开的方案,针对不同的动画特效,都可以取得优秀的动画处理效果。
119.在本公开中,若变化量为负向变化量,且负向变化量达到预设的第一变化量阈值,可以调低目标函数的运行频率,通过将目标数的运行频率调低,可以释放终端110的部分计算资源,避免计算资源抢占,优先保证网页中的用户交互行为能够得到及时响应,相较于基于硬件参数确定动画特效运行方式的方法,本公开能够通过细粒度的调整优化使用体验,避免直接舍去所有动画特效。
120.在一示例性实施例中,在步骤s230中,根据所述变化量调节所述目标函数的运行频率,还可以包括:
121.若所述变化量为正向变化量,且所述正向变化量达到预设的第二变化量阈值,则调高所述目标函数的运行频率。
122.其中,正向变化量可以表征目标函数的运行频率相对于目标函数的历史运行频率升高。
123.具体实现中,可以获取运行频率与历史运行频率的差值,若该差值大于或等于零,则可以确定目标函数的运行频率相对于目标函数的历史运行频率升高,该变化量为正向变化量。
124.当变化量为正向变化量,并且该正向变化量达到预设的第二变化量阈值,则可以确定终端110当前的计算资源充足,从而可以在单位时间内更多地运行目标函数,使其运行频率升高,相应地,可以提高目标函数的运行频率,提高网页中动画展示的流畅度。
125.在本公开中,若变化量为正向变化量,且正向变化量达到预设的第二变化量阈值,则调高目标函数的运行频率,能够在终端110计算资源充足的情况下,细粒度地优化动画展示效果,避免生硬地确定动画运行方式。
126.在一示例性实施例中,如图3所示,在步骤s230中,根据所述变化量调节所述目标函数的运行频率,可以包括:
127.在步骤s231中,若所述变化量为负向变化量,获取所述网页中动画当前的渲染频率。
128.其中,渲染频率可以为浏览器渲染目标函数更新后的动画帧的频率。具体而言,浏览器渲染动画帧的频率可以是预设,但由于通过目标函数更新动画帧所耗用的时间并不固定,而渲染频率是浏览器渲染更新的动画帧的频率,因此,浏览器的渲染频率可以与目标函数的运行频率正相关。
129.在具体实现中,在获取到目标函数运行频率的变化量后,若变化量为负向变化,终端110可以获取网页中动画当前的渲染频率,结合渲染频率确定运行频率调节的具体方式。
130.在步骤s232中,若确定所述渲染频率与预设的低渲染频率阈值之间的差值大于预设差值,以及,所述渲染频率不大于预设的高渲染频率阈值且不小于预设的低渲染频率阈值,则调低所述目标函数的运行频率。
131.其中,低渲染频率阈值可以是网页中动画满足预设的最低流畅度时的渲染频率,如30fps(frames per second,每秒传输帧数),针对渲染频率在30fps以下的动画,用户会感觉到明显的卡顿,而渲染频率在30~50fps之间的动画,因用户敏感程度不同,用户可感知的流畅度因人而异。高渲染频率阈值可以是网页中动画达到预设的可感知流畅度时的渲
染频率,如50fps。
132.在实际应用中,在获取到网页中动画当前的渲染频率后,可以获取渲染频率与预设的低渲染频率阈值之间的差值,并将渲染频率与预设的高渲染频率阈值和低渲染频率阈值进行对比。
133.若确定该差值大于预设差值,以及,渲染频率不大于高渲染频率阈值且不小于低渲染频率阈值,则确定当前的渲染频率比最低流畅度对应的渲染频率大,且两者之间存在较大差距,当前渲染频率存在下调空间,此时可以调低目标函数的运行频率,通过降低目标函数的运行频率释放计算资源。若确定渲染频率大于高渲染频率阈值,由于动画仍然流畅,则可以暂不调整目标函数的运行频率。
134.具体的,在调低运行频率时,可以在预设频率范围内调低,避免直接将运行频率调节至0,针对运行频率的调低幅度,还可以在预先设置的幅度阈值进行调低,避免渲染频率变化量过大,形成画面的明显卡顿。
135.在步骤s233中,若确定所述差值不大于所述预设差值,或者,所述渲染频率小于或等于所述低渲染频率阈值,则暂停运行所述目标函数。
136.若确定差值不大于预设差值,则可以确定渲染频率虽然大于低渲染频率阈值,但是两者差距不大,此时若继续下调,可以释放的计算资源有限,因此,可以在差值小于或等于预设差值时,暂停运行目标函数。
137.或者,若确定渲染频率小于或等于低渲染频率阈值,此时动画已处于卡顿状态,若继续下调运行频率,将使得动画卡顿更明显,因此,可以将运行频率调低至0,暂停运行目标函数。
138.在本公开中,终端110可以获取网页中动画当前的渲染频率,若确定渲染频率与预设的低渲染频率阈值之间的差值大于预设差值,以及,渲染频率不大于预设的高渲染频率阈值且不小于预设的低渲染频率阈值,可以执行调低目标函数的运行频率的步骤,若确定差值不大于预设差值,或者,渲染频率不大于低渲染频率阈值,则暂停运行目标函数,能够在动画仍正常播放时,调低运行频率避免资源抢占,又可以在动画出现明显卡顿时,释放用于进行动画更新和渲染的计算资源,分配给终端110的其他计算任务,如与交互功能相关的任务。
139.在一示例性实施例中,如图4所示,所述调低所述目标函数的运行频率,可以包括:
140.在步骤s2311中,若确定先前存在调高所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调高次数和累计调高幅度。
141.作为一示例,累计调高次数可以是一时间范围内终端110调高目标函数的运行频率的次数;累计调高幅度可以是该时间范围内,累计调高次数对应的运行频率被调高的幅值。
142.在具体实现中,若变化量为负向变化量,终端110可以判断该动画是否存在对应的调高目标函数运行频率的调节记录。若确定存在调高目标函数运行频率的调节记录,则可以基于调节记录,调低目标函数的运行频率。具体的,终端110可以确定时间范围内针对目标函数运行频率的累计调高次数和累计调高幅度。
143.在步骤s2312中,根据所述累计调高次数和所述累计调高幅度,确定本次调低的降低幅度。
144.在确定累计调高次数和累计调高幅度后,可以基于累计调高次数和累计调高幅度,确定本次调低的降低幅度。
145.在实际应用中,可以确定累计调高次数对应的时间范围,并根据累计调高次数和时间范围,确定目标函数的调高频率。若调高频率小于阈值,并且累计调高幅度小于预设的调高幅度阈值,则可以确定过往目标函数的调高为偶发性事件,并进一步基于累计调高幅度,确定本次调低的降低幅度,对目标函数的运行频率进行恢复。
146.具体而言,可以分多次调低运行频率,例如首次调低时,降低幅度可以基于预设占比与累计调高幅度的得到,如调低累计调高幅度的50%,若预设时间内计算资源仍然不足,则可以再次调低,多次调低的降低幅度可以与累计调高幅度相等。或者,也可以一次性将运行频率复原至调高前的运行频率,即降低幅度可以等于累计调高幅度。
147.在一个示例中,在确定降低幅度时,还可以结合渲染频率的变化量确定。具体而言,渲染频率的变化量可以与动画的流畅度呈负相关,即渲染频率的变化量越大,动画的卡顿越明显,流畅度越低,反之,渲染频率的变化量越小,动画流畅度越高。而不同的降低幅度可以对应不同的渲染频率变化量。基于此,可以预先设置幅度阈值,并结合该幅度阈值确定降低幅度。
148.在步骤s2313中,采用所述降低幅度调低所述目标函数的运行频率。
149.在确定本次调低的降低幅度后,即可以采用该降低幅度进行调整,调低目标函数的运行频率。
150.在本公开中,终端110在调低目标函数的运行频率时,若确定先前存在调高目标函数的运行频率的调节记录,则可以确定针对目标函数的运行频率的累计调高次数和累计调高幅度,根据累计调高次数和累计调高幅度,确定本次调低的降低幅度,并采用降低幅度调低目标函数的运行频率,能够基于网页动画在终端110的实际运行情况,在计算资源出现不足时,回调已增加的运行频率,释放计算资源。
151.在一示例性实施例中,所述调低所述目标函数的运行频率,还可以包括:
152.若确定先前不存在调高所述目标函数的运行频率的调节记录,则获取预设调低幅度,并按照预设调低幅调低所述目标函数的运行频率。
153.具体实现中,可以预先设置运行频率的降低幅度,即预设降低幅度。若确定先前不存在调高目标函数运行频率的调节记录,终端110可以获取预设降低幅度作为当前的降低幅度,并按照预设调低幅度调低目标函数的运行频率。
154.在本公开中,终端110在调低目标函数的运行频率时,可以在确定先前不存在调高目标函数的运行频率的调节记录时,则获取预设调低幅度,并按照预设调低幅调低目标函数的运行频率,既可以及时释放计算资源,又能够避免降低幅度过大,导致渲染频率变化明显,形成画面的明显卡顿。
155.在一示例性实施例中,在所述调高所述目标函数的运行频率之前,还可以包括:
156.获取所述网页中动画当前的渲染频率;当所述渲染频率大于预设的高渲染频率阈值时,保持当前的运行频率;当所述渲染频率不大于所述高渲染频率阈值且不小于预设的低渲染频率阈值时,执行所述调高所述目标函数的运行频率。
157.作为一示例,高渲染频率阈值可以是网页中动画达到预设的可感知流畅度时的渲染频率,如50fps。
158.在具体实现中,在预设可感知流畅度下,用户可以明显感受到动画的流畅性,在预设的可感知流畅度对应的渲染频率以及最高可感知流畅度对应的渲染频率的范围内,动画流畅性高,令用户倍感舒适,如50~60fps范围内。当渲染频率达到最高可感知流畅度对应的渲染频率时,如60fps,即使再提升运行频率,用户也难以明显感知到流畅度的提升。基于此,当正向变化量达到预设的第二变化量阈值时,终端110可以获取网页中动画当前的渲染频率,结合渲染频率确定运行频率调低的具体方式。
159.具体而言,在获取网页中当前动画的渲染频率后,可以将该渲染频率与预设的高渲染频率阈值进行比较。当渲染频率大于预设的高渲染频率阈值时,若渲染频率大于高渲染频率阈值而小于最高可感知流畅度对应的渲染频率,由于此时用户已感知到当前动画流畅,因此可以保持当前的运行频率。若渲染频率大于最高可感知流畅度对应的渲染频率,此时即使继续提升运行频率,用户难以感知到流畅度的变化,提升运行频率带来的视觉上的收益变小,在此情况下,也可以维持当前的运行频率,暂停运行频率的提升。
160.当渲染频率不大于高渲染频率阈值且不小于预设的低渲染频率阈值时,用户难以明显感知到当前动画的流畅性,可以确定动画的流畅度存在提升空间,例如渲染频率在30~0fps范围内,用户感知到的流畅度存在差异,因此,可以在渲染频率不大于高渲染频率阈值且不小于低渲染频率阈值时,调高目标函数的运行频率。
161.在本公开中,终端110可以获取网页中动画当前的渲染频率,并当渲染频率大于预设的高渲染频率阈值时,保持当前的运行频率,当渲染频率不大于高渲染频率阈值且不小于低渲染频率阈值时,则执行确定先前是否存在调低目标函数的运行频率的调节记录的步骤,能够根据动画的实际运行情况,确定运行频率的调整方式,从而在渲染频率较高时,避免无效的运行频率提高,节省计算资源。
162.在一示例性实施例中,所述调高所述目标函数的运行频率,可以包括:
163.若确定先前存在调低所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调低次数和累计调低幅度;根据所述累计调低次数和所述累计调低幅度,确定本次调高的增加幅度;采用所述增加幅度调高所述目标函数的运行频率。
164.作为一示例,累计调低次数可以是一时间范围内终端110调低目标函数的运行频率的次数;累计调低幅度可以是该时间范围内,累计调低次数对应的运行频率被调低的幅值。
165.在实际应用中,若变化量为正向变化量且正向变化量达到第二变化量阈值,终端110可以判断该动画是否存在对应的调低目标函数运行频率的调节记录。若确定存在调低目标函数运行频率的调节记录,则可以基于历史调节记录,调高目标函数的运行频率。
166.具体的,终端110可以确定时间范围内针对目标函数运行频率的累计调低次数和累计调低幅度。在确定累计调低次数和累计调低幅度后,可以基于累计调低次数和累计调低幅度,确定本次调高的增加幅度。在具体实际中,可以确定累计调低次数对应的时间范围,并根据累计调低次数和时间范围,确定目标函数的调低频率。若调低频率小于阈值,并且累计调低幅度小于预设的调低幅度阈值,则可以确定过往目标函数的调低为偶发性事件,并进一步基于累计调低幅度,确定本次调高的增加幅度,对目标函数的运行频率进行恢复。
167.具体而言,可以分多次调高运行频率,例如首次调高时,增加幅度可以基于预设占
比与累计调低幅度的得到,如调高累计调低幅度的50%,若预设时间内计算资源充足,则可以再次调高,多次调高的增加幅度可以与累计调低幅度相等。或者,也可以一次性将运行频率复原至调低前的运行频率,即增加幅度可以等于累计调低幅度。在一个示例中,在确定增加幅度时,也可以结合渲染频率的变化量确定。
168.在确定本次调高的增加幅度后,即可以采用该增加幅度进行调整,调高目标函数的运行频率。
169.在本公开中,终端110在调高目标函数的运行频率时,若确定先前存在调低目标函数的运行频率的调节记录,则可以确定针对目标函数的运行频率的累计调低次数和累计调低幅度,根据累计调低次数和累计调低幅度,确定本次调高的增加幅度,并采用该增加幅度调高目标函数的运行频率,能够基于网页动画在终端110的实际运行情况,在计算资源出现充足时,回调已降低的运行频率,充分利用计算资源,优化动画效果。
170.在一示例性实施例中,所述调高所述目标函数的运行频率,还可以包括:
171.若确定先前不存在调低所述目标函数的运行频率的调节记录,则获取预设增加幅度,并按照所述预设增加幅度调高所述目标函数的运行频率。
172.在实际应用中,可以预先设置运行频率的增加幅度,即预设增加幅度。若确定先前不存在调低目标函数运行频率的调节记录,终端110可以获取预设增加幅度,并按照预设增加幅度调高目标函数的运行频率。
173.在本公开中,终端110在调高目标函数的运行频率时,若确定先前不存在调低所述目标函数的运行频率的调节记录,则可以获取预设增加幅度,并按照预设增加幅度调高目标函数的运行频率,能够充分利用当前空闲的计算资源进行动画展示,又可以避免计算资源占用量的猛增。
174.在一示例性实施例中,所述方法还可以包括:
175.获取初始的用于更新动画帧的目标函数;对所述目标函数进行函数包装,以通过所述函数包装控制所述目标函数的运行频率。
176.作为一示例,目标函数可以为浏览器的内置函数,例如,当网页中的动画为javascript动画时,本公开的方案可以通过原生javascript编程语言实现,相应地,目标函数可以是内置函数requestanimationframe。
177.在具体实现中,终端110可以获取初始的用于更新动画帧的目标函数,在得到该目标函数后,可以对目标函数进行函数包装,进而可以在需要调整运行频率时,通过函数包装控制目标函数的运行频率。
178.在本公开中,终端110可以对目标函数进行函数包装,通过函数包装控制目标函数的运行频率,为动画运行方式的动态调整提供基础。
179.在一示例性实施例中,在步骤s210中,获取用于更新动画帧的目标函数当前的运行频率,可以包括如下步骤:
180.记录所述目标函数每一次运行时的运行时间;根据最近记录的多个所述运行时间,以及在多个所述运行时间对应的时间范围内所述目标函数的运行次数,确定所述目标函数对应的运行频率。
181.作为一示例,运行时间可以是目标函数每一次运行时,开始运行的时间。运行时间对应的时间范围,可以是目标函数运行一次并完成动画帧的更新所耗用的时间。终端110通
过连续运行目标函数,实现动画帧的连续更新,形成动画。
182.在一种确定动画运行方式的方案中,需要依赖于原生客户端中的web容器才能获取设备硬件参数,并基于硬件参数确定动画特效运行。该web容器可以理解为原生客户端内容之的浏览器,web容器可以调用原生客户端所提供的数据处理功能,例如获取设备硬件信息、定位信息、拨打电话等,传统方式通过调用原生客户端中的web容器,能够间接地调用原生客户端的数据处理功能,进而获取到硬件参数。
183.而在公开中,终端110可以记录目标函数每一次运行的运行时间。在预设时间内,可以获取最近记录的多个运行时间,并确定每个运行时间对应的时间范围。进而可以根据最近记录的多个运行时间,以及多个运行时间对应的时间范围内目标函数的运行次数,确定目标函数的运行频率。具体而言,可以对各个运行时间对应的时间范围求和,确定时间范围之和,并根据记录的运行时间的数量,确定目标函数的运行次数,进而可以根据运行次数和时间范围之和,确定运行频率。
184.在本公开中,可以记录目标函数每一次运行时的运行时间,根据最近记录的多个运行时间,以及在多个运行时间对应的时间范围内目标函数的运行次数,确定目标函数对应的运行频率,能够在动画播放过程中,直接获取到更新动画帧的目标函数的运行频率,并基于该运行频率确定动画运行的调整方式,摆脱了对原生客户端内web容器的依赖,无特殊环境依赖,能够应用在任意浏览器中;同时,计算过程简单,运行负担极小,节省计算资源。
185.应该理解的是,虽然图2

4的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2

4中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
186.图5是根据一示例性实施例示出的一种网页动画处理装置框图。参照图5,该装置包括运行频率获取单元501,变化量确定单元502和运行频率调整单元503。
187.运行频率获取单元,被配置为在当前展示的网页中包含动画的情况下,获取用于更新动画帧的目标函数当前的运行频率;所述运行频率表征所述目标函数单位时间内运行的次数;
188.变化量确定单元,被配置为确定所述运行频率相对于所述目标函数的历史运行频率的变化量;
189.运行频率调整单元,被配置为根据所述变化量调节所述目标函数的运行频率。
190.在一示例性实施例中,所述运行频率调整单元,包括:
191.运行频率调低模块,被配置为若所述变化量为负向变化量,且所述负向变化量达到预设的第一变化量阈值,则调低所述目标函数的运行频率;所述负向变化量表征所述目标函数的运行频率相对于所述目标函数的历史运行频率降低。
192.在一示例性实施例中,所述运行频率调整单元,包括:
193.运行频率调高模块,被配置为若所述变化量为正向变化量,且所述正向变化量达到预设的第二变化量阈值,则调高所述目标函数的运行频率;所述正向变化量表征所述目标函数的运行频率相对于所述目标函数的历史运行频率升高。
194.在一示例性实施例中,所述运行频率调整单元,包括:
195.第一渲染频率获取模块,被配置为若所述变化量为负向变化量,获取所述网页中动画当前的渲染频率;所述渲染频率为浏览器渲染所述目标函数更新后的动画帧的频率;
196.第二降低模块,被配置为若确定所述渲染频率与预设的低渲染频率阈值之间的差值大于预设差值,以及,所述渲染频率不大于预设的高渲染频率阈值且不小于预设的低渲染频率阈值,则调低所述目标函数的运行频率;所述低渲染频率阈值为所述网页中动画满足预设的最低流畅度时的渲染频率,所述高渲染频率阈值为所述网页中动画达到预设的可感知流畅度时的渲染频率;
197.暂停模块,被配置为若确定所述差值不大于所述预设差值,或者,所述渲染频率小于或等于所述低渲染频率阈值,则暂停运行所述目标函数。
198.在一示例性实施例中,所述运行频率调低模块,包括:
199.累计调高次数确定模块,被配置为若确定先前存在调高所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调高次数和累计调高幅度;
200.降低幅度确定模块,被配置为根据所述累计调高次数和所述累计调高幅度,确定本次调低的降低幅度;
201.第一降低模块,被配置为采用所述降低幅度调低所述目标函数的运行频率。
202.在一示例性实施例中,所述运行频率调低模块,还包括:
203.第二降低模块,被配置为若确定先前不存在调高所述目标函数的运行频率的调节记录,则获取预设调低幅度,并按照预设调低幅调低所述目标函数的运行频率。
204.在一示例性实施例中,所述装置还包括:
205.频率获取模块,被配置为获取所述网页中动画当前的渲染频率;
206.运行频率维持模块,当所述渲染频率大于预设的高渲染频率阈值时,保持当前的运行频率;
207.频率增加模块,被配置为当所述渲染频率不大于所述高渲染频率阈值且不小于预设的低渲染频率阈值时,执行所述调高所述目标函数的运行频率。
208.在一示例性实施例中,所述运行频率调高模块,包括:
209.第二渲染频率获取模块,被配置为若确定先前存在调低所述目标函数的运行频率的调节记录,则确定针对所述目标函数的运行频率的累计调低次数和累计调低幅度;
210.增加幅度确定模块,被配置为根据所述累计调低次数和所述累计调低幅度,确定本次调高的增加幅度;
211.第一增加模块,被配置为采用所述增加幅度调高所述目标函数的运行频率。
212.在一示例性实施例中,所述运行频率调高模块,还包括:
213.第二增加模块,被配置为若确定先前不存在调低所述目标函数的运行频率的调节记录,则获取预设增加幅度,并按照所述预设增加幅度调高所述目标函数的运行频率。
214.在一示例性实施例中,还包括:
215.目标函数获取模块,被配置为获取初始的用于更新动画帧的目标函数,所述目标函数为浏览器的内置函数;
216.函数包装模块,被配置为对所述目标函数进行函数包装,以通过所述函数包装控制所述目标函数的运行频率。
217.在一示例性实施例中,所述运行频率获取单元,包括:
218.运行时间记录模块,被配置为记录所述目标函数每一次运行时的运行时间;
219.运行频率计算模块,被配置为根据最近记录的多个所述运行时间,以及在多个所述运行时间对应的时间范围内所述目标函数的运行次数,确定所述目标函数对应的运行频率。
220.关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
221.图6是根据一示例性实施例示出的一种用于运行网页动画处理方法的设备600的框图。例如,设备600可以是移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
222.参照图6,设备600可以包括以下一个或多个组件:处理组件602、存储器604、电源组件606、多媒体组件608、音频组件610、输入/输出(i/o)的接口612、传感器组件614以及通信组件616。
223.处理组件602通常控制设备600的整体操作,诸如与显示、电话呼叫、数据通信、相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
224.存储器604被配置为存储各种类型的数据以支持在设备600的操作。这些数据的示例包括用于在设备600上操作的任何应用程序或方法的指令、联系人数据、电话簿数据、消息、图片、视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram)、电可擦除可编程只读存储器(eeprom)、可擦除可编程只读存储器(eprom)、可编程只读存储器(prom)、只读存储器(rom)、磁存储器、快闪存储器、磁盘或光盘。
225.电源组件606为设备600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为设备600生成、管理和分配电力相关联的组件。
226.多媒体组件608包括在所述设备600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当设备600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
227.音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(mic),当设备600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
228.i/o接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可
以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
229.传感器组件614包括一个或多个传感器,用于为设备600提供各个方面的状态评估。例如,传感器组件614可以检测到设备600的打开/关闭状态,组件的相对定位,例如所述组件为设备600的显示器和小键盘,传感器组件614还可以检测设备600或设备600一个组件的位置改变,用户与设备600接触的存在或不存在,设备600方位或加速/减速和设备600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如cmos或ccd图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器、陀螺仪传感器、磁传感器、压力传感器或温度传感器。
230.通信组件616被配置为便于设备600和其他设备之间有线或无线方式的通信。设备600可以接入基于通信标准的无线网络,如wifi,运营商网络(如2g、3g、4g或5g),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(nfc)模块,以促进短程通信。例如,在nfc模块可基于射频识别(rfid)技术,红外数据协会(irda)技术,超宽带(uwb)技术,蓝牙(bt)技术和其他技术来实现。
231.在示例性实施例中,设备600可以被一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
232.在示例性实施例中,还提供了一种包括指令的计算机可读存储介质,例如包括指令的存储器604,上述指令可由设备600的处理器620执行以完成上述方法。例如,计算机可读存储介质可以是rom、随机存取存储器(ram)、cd

rom、磁带、软盘和光数据存储设备等。
233.在示例性实施例中,还提供一种计算机程序产品,包括计算机程序/指令,上述计算机程序/指令被处理器执行时实现上述方法。
234.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
235.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1