本技术涉及终端,具体而言,涉及一种帧率控制方法、装置、计算机设备及存储介质。
背景技术:
1、随着终端技术的发展,各式各样的终端已成为人们生活工作中不可或缺的工具。终端支持各种应用运行的同时,应用中的各场景如游戏场景、视频场景等也需要高帧率的支持,用户才能流畅地浏览各场景。
2、目前,一般将应用中的所有场景均采用高帧率运行,以使用户流畅地浏览各场景。
3、但是,上述方法会导致终端温度过高而影响终端运行安全,无法实现用户体验和终端运行安全的平衡。
技术实现思路
1、本技术的主要目的在于提供一种帧率控制方法、装置、计算机设备及存储介质,可实现用户体验和终端运行安全的平衡。
2、为了实现上述目的,第一方面,本技术提供了一种帧率控制方法,包括:
3、获取目标应用中的m个初始场景,其中,m为大于1的整数;
4、基于m个初始场景和持续时长阈值,确定目标应用对应的n个目标场景,其中,n为大于或等于m的整数;
5、基于n个目标场景和预设优先级,确定n个实际显示帧率,其中,n个实际显示帧率包括n个目标场景中的每个目标场景的实际显示帧率;
6、若n个实际显示帧率中的任一实际显示帧率未达到目标显示帧率,对任一实际显示帧率对应的目标场景进行插帧处理,以使n个目标场景中的每个目标场景的实际显示帧率达到目标显示帧率。
7、在一实施例方式中,基于m个初始场景和持续时长阈值,确定目标应用对应的n个目标场景,包括:
8、计算m个初始场景中的每个初始场景的持续时长;
9、若m个初始场景中的每个初始场景的持续时长均未超过持续时长阈值,将m个初始场景作为目标应用对应的n个目标场景,其中,m与n相等;
10、若m个初始场景中的任一场景的持续时长超过持续时长阈值,对m个初始场景中的任一场景进行场景划分,确定目标应用对应的n个目标场景。
11、在一实施例方式中,对m个初始场景中的任一场景进行场景划分,确定目标应用对应的n个目标场景,包括:
12、选取m个初始场景中的任一场景所对应的k个变量,其中,变量用于表征影响对象操作频率的变量,k为大于1的整数;
13、计算k个变量中的每个变量的信息熵,得到k个信息熵;
14、将k个信息熵从大到小进行排序,得到排序后的k个信息熵;
15、利用排序后的k个信息熵中的第一个信息熵对应的变量对m个初始场景中的任一场景进行场景划分,确定目标应用对应的n个目标场景。
16、在一实施例方式中,利用排序后的k个信息熵中的第一个信息熵对应的变量对m个初始场景中的任一场景进行场景划分,确定目标应用对应的n个目标场景,包括:
17、利用排序后的k个信息熵中的第一个信息熵对应的变量对m个初始场景中的任一场景进行场景划分,得到t个子场景,其中,t为大于1的整数;
18、计算t个子场景中的每个子场景的持续时长;
19、若t个子场景中的每个子场景的持续时长未超过持续时长阈值,将初始场景中除任一场景之外的场景和t个子场景作为目标应用对应的n个目标场景;
20、若t个子场景中的任一子场景的持续时长超过持续时长阈值,添加新的变量,并利用添加后的新变量对m个初始场景中的任一场景进行场景划分,确定目标应用对应的n个目标场景,其中,新的变量为当前信息熵的下一个信息熵对应的变量。
21、在一实施例方式中,利用添加后的新变量对m个初始场景中的任一场景进行场景划分,确定目标应用对应的n个目标场景,包括:
22、利用第一个信息熵对应的变量和第二个信息熵对应的变量对m个初始场景中的任一场景进行场景划分,得到p个子场景,其中,p为大于1的整数;
23、计算p个子场景中的每个子场景的持续时长;
24、若p个子场景中的每个子场景的持续时长未超过持续时长阈值,将初始场景中除任一场景之外的场景和p个子场景作为目标应用对应的n个目标场景;
25、若p个子场景中的任一子场景的持续时长超过持续时长阈值,重复执行添加新的变量,并利用添加后的新变量对m个初始场景中的任一场景进行场景划分的步骤,直至确定目标应用对应的n个目标场景。
26、在一实施例方式中,计算m个初始场景中的每个初始场景的持续时长,包括:
27、获取每个初始场景的时长数据;
28、将时长数据中除最短时长和最长时长之外的所有时长进行平均值计算,得到每个初始场景的持续时长。
29、在一实施例方式中,计算k个变量中的每个变量的信息熵,得到k个信息熵,包括:
30、获取每个变量对应的q个特征子集,其中,q为大于1的整数;
31、计算q个特征子集中的每个特征子集占每个变量的比例,得到q个比例值;
32、将q个比例值进行统计,得到每个变量的信息熵;
33、将每个变量的信息熵进行汇总,得到k个信息熵。
34、在一实施例方式中,基于n个目标场景和预设优先级,确定n个实际显示帧率,包括:
35、针对n个目标场景中的每个目标场景,获取每个目标场景的操作频率;
36、基于每个目标场景的操作频率和预设优先级,确定每个目标场景的优先级;
37、基于每个目标场景的优先级,确定每个目标场景的渲染帧率;
38、基于每个目标场景的渲染帧率和目标显示帧率,确定每个目标场景的实际显示帧率;
39、将每个目标场景的实际显示帧率进行汇总,得到n个实际显示帧率。
40、在一实施例方式中,获取每个目标场景的操作频率,包括:
41、针对所有对象中的每个对象,获取每个对象对每个目标场景执行操作的操作次数;
42、将操作次数与每个目标场景的持续时长作商,得到每个对象针对每个目标场景的操作频率;
43、将每个对象针对每个目标场景的操作频率相加,得到总的操作频率;
44、将总的操作频率与所有对象的数目作商,得到每个目标场景的操作频率。
45、在一实施例方式中,基于每个目标场景的操作频率和预设优先级,确定每个目标场景的优先级,包括:
46、从n个目标场景中选取操作频率最小的目标场景,并将操作频率最小的目标场景设置为最低优先级;
47、计算操作频率最小的目标场景的持续时间占n个目标场景的持续时间的占比;
48、若占比大于或等于最低优先级对应的占比上限,将操作频率最小的目标场景与最低优先级的上一优先级进行匹配,以确定操作频率最小的目标场景的优先级;
49、若占比小于最低优先级对应的占比上限,确定操作频率最小的目标场景为最低优先级;
50、返回执行从n个目标场景中选取操作频率最小的目标场景,并将操作频率最小的目标场景设置为最低优先级的步骤,直至确定每个目标场景的优先级。
51、在一实施例方式中,基于每个目标场景的渲染帧率和目标显示帧率,确定每个目标场景的实际显示帧率,包括:
52、将每个目标场景的渲染帧率和目标显示帧率相乘,得到每个目标场景的实际显示帧率。
53、在一实施例方式中,若n个实际显示帧率中的任一实际显示帧率未达到目标显示帧率,对任一实际显示帧率对应的目标场景进行插帧处理,以使n个目标场景中的每个目标场景的实际显示帧率达到目标显示帧率,包括:
54、若n个实际显示帧率中的任一实际显示帧率未达到目标显示帧率,获取任一实际显示帧率对应的目标场景的模拟帧;
55、将预设数量的模拟帧间隔地插入任一实际显示帧率对应的目标场景的渲染帧中,以使n个目标场景中的每个目标场景的实际显示帧率达到目标显示帧率,其中,预设数量为任一实际显示帧率与目标显示帧率的差。
56、第二方面,本技术实施例提供了一种帧率控制装置,包括:
57、获取模块,用于获取目标应用中的m个初始场景,其中,m为大于1的整数;
58、场景确定模块,用于基于m个初始场景和持续时长阈值,确定目标应用对应的n个目标场景,其中,n为大于或等于m的整数;
59、显示帧率确定模块,用于基于n个目标场景和预设优先级,确定n个实际显示帧率,其中,n个实际显示帧率包括n个目标场景中的每个目标场景的实际显示帧率;
60、插帧处理模块,用于若n个实际显示帧率中的任一实际显示帧率未达到目标显示帧率,对任一实际显示帧率对应的目标场景进行插帧处理,以使n个目标场景中的每个目标场景的实际显示帧率达到目标显示帧率。
61、第三方面,本技术实施例提供了一种设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上任一方法的步骤。
62、第四方面,本技术实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如上任一方法的步骤。
63、本技术实施例提供了一种帧率控制方法、装置、计算机设备及存储介质,包括:先获取目标应用中的m个初始场景,其中,m为大于1的整数,然后基于m个初始场景和持续时长阈值,确定目标应用对应的n个目标场景,其中,n为大于或等于m的整数,再基于n个目标场景和预设优先级,确定n个实际显示帧率,其中,n个实际显示帧率包括n个目标场景中的每个目标场景的实际显示帧率,若n个实际显示帧率中的任一实际显示帧率未达到目标显示帧率,对任一实际显示帧率对应的目标场景进行插帧处理,以使n个目标场景中的每个目标场景的实际显示帧率达到目标显示帧率。本技术将实际显示帧率未达到目标显示帧率的场景进行插帧处理,不仅可提高场景的显示帧率,同时避免了所有场景处于高帧运行带来的终端运行安全隐患,从而实现用户体验和终端运行安全的平衡。