1.本技术涉及显示控制技术领域,尤其涉及一种控制方法及电子设备。
背景技术:
2.支持高刷新率的显示板已经广泛应用于各种电子设备上,而高刷新率可以给用户带来了画面显示流畅的体验。
3.但是,由于显示板所输出的画面帧率会发生变化,因此显示板所输出的画面帧率存在与显示板的刷新率不匹配的情况。
4.例如,高刷新率的显示板中输出低帧率的视频,此时,会造成功耗高且性能差的情况;再如,低刷新率的显示板中输出高帧率的视频,此时,会造成画面显示不流畅的情况。
技术实现要素:
5.有鉴于此,本技术提供一种控制方法及电子设备,如下:
6.一种控制方法,包括:
7.获得第一帧率,所述第一帧率与操作系统相对应;
8.获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;
9.如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述操作系统所在的电子设备以调整后的第一帧率输出内容。
10.上述方法,优选的,所述方法还包括:
11.根据所述第一应用程序以及被调整后的第一帧率,获得目标配置文件,所述目标配置文件中包含至少一项目标运行参数,以按照所述目标运行参数进行设备配置。
12.上述方法,优选的,调整所述第一帧率的帧率值,包括:
13.将所述第二帧率与多个预设帧率范围的范围边界值进行比对,以得到所述第二帧率对应的目标帧率范围;
14.将所述目标帧率范围对应的目标帧率调整为所述第一帧率的帧率值。
15.上述方法,优选的,调整所述第一帧率的帧率值,包括:
16.如果所述第一帧率大于所述第二帧率,在包含多个预设帧率的帧率集合中,获得小于所述第一帧率且与所述第一帧率之间的差值最小的第一目标帧率,将所述第一目标帧率调整为所述第一帧率的帧率值;
17.如果所述第一帧率小于所述第二帧率,在所述帧率集合中,获得大于所述第一帧率且与所述帧率之间的差值最小的第二目标帧率,将所述第二目标帧率调整为所述第一帧率的帧率值。
18.上述方法,优选的,获得第二帧率,包括:
19.获得第一应用程序在基于操作系统运行过程中在连续n个时间周期内的平均帧率,n为大于或等于1的正整数,所述时间周期为当前时刻之前的历史时间周期;
20.根据所述平均帧率,获得第二帧率。
21.上述方法,优选的,根据所述平均帧率,获得第二帧率,包括:
22.将所述平均帧率的平均值作为第二帧率;
23.或者,在所述平均帧率中选择一个帧率作为第二帧率。
24.上述方法,优选的,所述第一帧率和所述第二帧率不同,包括:
25.所述第一帧率和所述第二帧率之间的差值大于或等于所述第一帧率对应的控制阈值;
26.或,
27.所述第二帧率没有在所述第一帧率对应的帧率范围内。
28.上述方法,优选的,还包括:
29.获得针对所述第一帧率的设置值;所述设置值基于所述操作系统的使用状态参数确定或基于帧率设置操作确定;
30.将所述设置值调整为所述第一帧率的帧率值。
31.上述方法,优选的,在调整所述第一帧率的帧率值之后,所述方法还包括:
32.在循环条件被满足的情况下,返回执行所述步骤:获得第一帧率以及获得第二帧率,以得到新的第一帧率和新的第二帧率,如果所述新的第一帧率和所述新的第二帧率不同,重新调整所述新的第一帧率的帧率值,以使得所述操作系统所在的电子设备以重新调整后的第一帧率输出内容。
33.一种电子设备,包括:
34.显示装置;
35.处理器,用于获得第一帧率,所述第一帧率与所述电子设备中的操作系统相对应;获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述显示装置以调整后的第一帧率输出内容。
36.从上述技术方案可以看出,本技术公开的一种控制方法及电子设备中,首先获得与电子设备的操作系统相对应的第一帧率,然后获得基于操作系统的第一应用程序运行过程中的动态的第二帧率,进而如果第一帧率和第二帧率不同,那么调整第一帧率的帧率值,以使得操作系统所在的电子设备以调整后的第一帧率输出内容。可见,本技术中在电子设备上按照基于第一应用程序运行过程中的动态帧率所调整的帧率输出内容,由此使得操作系统对应的帧率与第一应用程序运行过程中的动态帧率相匹配,避免不匹配所导致的功耗高或输出不流畅的情况,从而改善用户使用电子设备输出内容的使用体验。
附图说明
37.为了更清楚地说明本技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1为本技术实施例一提供的一种控制方法的流程图;
39.图2为电子设备输出内容的示例图;
40.图3a、图3b、图4a及图4b分别为本技术实施例一提供的一种控制方法的另一流程图;
41.图4c为本技术适用于手机进行屏幕刷新率控制的示例图;
42.图5及图6分别为本技术实施例一提供的一种控制方法的部分流程图;
43.图7为本技术实施例二提供的一种控制装置的结构示意图;
44.图8为本技术实施例二提供的一种控制装置的另一结构示意图;
45.图9为本技术实施例三提供的一种电子设备的结构示意图;
46.图10为本技术适用于手机中进行显示刷新率控制的实例交互图。
具体实施方式
47.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
48.参考图1所示,为本技术实施例一提供的一种控制方法的实现流程图,该方法可以适用于具有显示装置能够输出内容的电子设备中,如手机、pad、笔记本等设备。本实施例中的技术方案主要用于改善用户使用电子设备输出内容的使用体验。
49.具体的,本实施例中的方法可以包含如下步骤:
50.步骤101:获得第一帧率。
51.其中,第一帧率与电子设备中的操作系统相对应。具体的,第一帧率可以理解为在操作系统中为电子设备的显示装置如手机屏所配置的刷新率,即显示装置在输出内容时单位时间内最高可以刷新的帧率。
52.具体的,本实施例中可以在操作系统的配置信息中读取该第一帧率的帧率值。
53.步骤102:获得第二帧率。
54.其中,第二帧率是指显示装置所输出的内容的实际帧率,具体为基于操作系统的第一应用程序运行过程中的动态帧率。例如,随着第一应用程序的运行,显示装置为第一应用程序所输出的内容可能存在变化,而变化的内容的帧率可能是不同的,本实施例中对第一应用程序运行过程中的动态帧率进行获取,进而得到第二帧率。
55.例如,第一应用程序可以为视频播放应用,其所播放的视频画面是不断变化的,如从输出高清的电影视频切换到输出低清的电视剧视频,如图2中所示,因此视频画面的帧率并非一成不变的,本实施例中对视频播放应用播放视频画面过程中的动态帧率进行获取,以得到第二帧率。
56.步骤103:判断第一帧率和第二帧率是否相同,如果第一帧率和第二帧率相同,则可以结束当前流程或者返回重新执行步骤101及步骤102,以便于继续对帧率进行监测;如果第一帧率和第二帧率不同,执行步骤104。
57.步骤104:调整第一帧率的帧率值,以使得操作系统所在的电子设备以调整后的第一帧率输出内容。
58.也就是说,本实施例中在操作系统对应的帧率和第一应用程序运行过程中的动态帧率不同时,调整操作系统对应的帧率,使得操作系统所在的电子设备以与动态帧率相匹
配的第一帧率输出内容。
59.需要说明的是,本实施例中的技术方案可以在电子设备输出内容的过程中循环,也就是说,本实施例中会持续获得当前的第一帧率及第二帧率并据此持续调整第一帧率,即以第一帧率与第二帧率相同为目标调整第一帧率,从而使得第一帧率能够与第二帧率趋近于相同。
60.例如,如图3a中所示,在步骤104之后,本实施例中可以直接返回执行步骤101,以获得新的第一帧率(即前一次被调整后的第一帧率)和新的第二帧率,如果新的第一帧率和新的第二帧率不同,那么重新填调整新的帧率的帧率值,由此,本实施例中通过不断调整操作系统对应的第一帧率,以使得操作系统对应的第一帧率能够与第一应用程序运行过程中的动态帧率相同。
61.再如,如图3b中所示,在步骤104之后,本实施例中还可以包含如下步骤:
62.步骤105:判断循环条件是否被满足,在循环条件被满足的情况下,返回执行步骤101以及后续步骤,由此,按照循环条件持续按照新的第一帧率和新的第二帧率调整第一帧率,以使得操作系统对应的第一帧率能够与第一应用程序运行过程中的动态帧率相同。
63.其中,循环条件包括:间隔第一时长的条件。例如,循环条件为n个时间周期的时长,时间周期的长度可以根据需求设置,n为大于或等于1的正整数。基于此,本实施例在第一应用程序运行过程中每隔n个时间周期执行一次步骤101和步骤102并在步骤103中判断为是的情况下执行步骤104,由此,每隔n个时间周期均对操作系统对应的第一帧率做一次监测,进一步的,如果监测到第一帧率与第一应用程序运行过程中的动态帧率不同对第一帧率做一次调整,基于此,当前时间周期上的帧率监测以及帧率调整均是在前一个时间周期被调整后的第一帧率的基础上进行的,以此类推,直到第一应用程序运行结束或显示装置被黑屏,此时电子设备停止输出内容,如视频播放应用被关闭、手机黑屏或关机等。
64.从上述技术方案可以看出,本技术实施例一提供的一种控制方法中,首先获得与电子设备的操作系统相对应的第一帧率,然后获得基于操作系统的第一应用程序运行过程中的动态的第二帧率,进而如果第一帧率和第二帧率不同,那么调整第一帧率的帧率值,以使得操作系统所在的电子设备以调整后的第一帧率输出内容。可见,本技术实施例中在电子设备上按照基于第一应用程序运行过程中的动态帧率所调整的帧率输出内容,由此使得操作系统对应的帧率与第一应用程序运行过程中的动态帧率相匹配,避免不匹配所导致的功耗高或输出不流畅的情况,从而改善用户使用电子设备输出内容的使用体验。
65.在一种实现方式中,本实施例中不断调整第一帧率的同时,还可以根据第一应用程序和被调整后的第一帧率(最新的第一帧率),获得到针对于电子设备的目标配置文件,该目标配置文件中包含至少一项目标运行参数,这些目标运行参数用以进行设备配置。具体的,在步骤104之后,本实施例中的方法中还可以包含如下步骤,如图4a中所示:
66.步骤106:根据第一应用程序和被调整后的第一帧率,获得目标配置文件,并按照目标配置文件中的目标运行参数进行设备配置。
67.具体的,在电子设备中可以设置有多个备选配置文件,每个备选配置文件各自对应于一个或多个应用程序的应用标识,每个备选配置文件还各自对应于相应的帧率范围。也就是说,对于电子设备中的每个已知应用程序,均预设对应的备选配置文件,对于操作系统对应的每个帧率范围也分别预设对应的备选配置文件。而每个备选配置文件中各自包含
有至少一项目标运行参数,如与电子设备中各个硬件部件和/或软件组件相关的运行参数,如中央处理器cpu(central processing unit)运行频率、cpu供电策略、cpu调度策略、cpu进程优先级、双倍速率同步动态随机存储器ddr供电策略、llcc供电策略的运行参数等等。
68.需要说明的是,不同的备选配置文件中的运行参数的数量和类型可以相同也可以不同,不同的配置文件中对于相同的运行参数的参数值可以相同也可以不同。
69.基于此,本实施例中在第一应用程序运行过程中,根据第一应用程序的应用标识和最新的第一帧率在多个备选配置文件中筛选对应的目标配置文件,该目标配置文件同时对应于第一应用程序的应用标识和第一帧率所处的帧率范围,由此,本实施例中按照该配置文件中的各项目标运行参数,对电子设备中的硬件部件和/或软件组件的运行参数进行配置。
70.例如,在第一应用程序为视频播放应用、第一帧率为30hz即处于对应的帧率范围25hz-35hz时,在多个备用配置文件中筛选出与视频播放应用和25-35的帧率范围相对应的目标配置文件,其中至少包含有:cpu运行频率的频率值和ddr供电策略的运行参数。
71.需要说明的是,结合图3b所示的实现方案,本实施例中的技术方案在第一应用程序运行过程中每隔n个时间周期执行一次步骤101、步骤102并在步骤103中判断为是的情况下执行步骤104和步骤106,如图4b中所示,由此,每隔n个时间周期均对操作系统对应的第一帧率做一次监测,进一步的,如果监测到第一帧率与第一应用程序运行过程中的动态帧率不同对第一帧率做一次调整并按照调整后的第一帧率和第一应用程序对设备做一次配置,基于此,当前时间周期上的帧率监测、帧率调整以及设备配置均是在前一个时间周期被调整后的第一帧率的基础上进行的,以此类推,直到第一应用程序运行结束或显示装置被黑屏,此时电子设备停止输出内容,如视频播放应用被关闭、手机黑屏或关机等。
72.例如,在手机上启动视频播放应用时,手机上的显示屏初始时以90hz为刷新率输出视频播放应用的视频画面,基于此,在第一个时间周期满足如第20秒时,手机上对屏幕刷新率和视频播放应用在播放视频画面的过程中的动态帧率进行监测,如果动态帧率与此前设置的屏幕刷新率90hz不同,那么可以调整屏幕刷新率为60hz,并按照被调整后的屏幕刷新率和视频播放应用对手机中的运行参数进行配置;如图4c中所示,随着视频播放应用的运行,在第二个时间周期满足如第40秒时手机上在被调整后的屏幕刷新率60hz的基础上继续对屏幕刷新率和视频播放应用在播放视频画面的过程中的新的动态帧率进行监测,基于此,如果新的动态帧率和被调整后的屏幕刷新率60hz不同,那么可以重新调整屏幕刷新率为30hz,并按照重新被调整后的屏幕刷新率和视频播放应用对手机中的运行参数进行配置;继续随着视频播放应用的运行,在第三个时间周期满足如第60秒时,手机上在重新被调整后的屏幕刷新率30hz的基础上继续对屏幕刷新率和视频播放应用在播放视频画面的过程中的新的动态帧率进行监测,如果新的动态帧率和被调整后的屏幕刷新率30hz不同,那么可以再次重新调整屏幕刷新率为120hz,并按照再次重新被调整后的屏幕刷新率和视频播放应用对手机中的运行参数进行配置,以此类推,在每个时间周期满足时均对前一个时间周期被调整后的屏幕刷新率做一次监测,进一步的,如果监测到屏幕刷新率与相应的动态帧率不同,那么对屏幕刷新率做一次调整并按照调整后的屏幕刷新率和视频播放应用对手机做一次配置,直到视频播放应用结束被关闭、手机黑屏或关机等。
73.在一种实现方式中,步骤104中在调整第一帧率的帧率值时,具体可以通过以下方
式实现,如图5中所示:
74.步骤501:将第二帧率与多个预设帧率范围的范围边界值进行比对,以得到第二帧率对应的目标帧率范围。
75.其中,对于显示装置的内容输出具有多个帧率档位,每个帧率档位对应于一个预设帧率范围,例如,30hz档位的帧率对应于0-45hz的帧率范围,60hz档位的帧率对应于46-75hz的帧率范围,90hz档位的帧率对应于76-105hz的帧率范围,120hz档位的帧率对应于106hz以上的帧率范围,等等。
76.基于此,本实施例中将第二帧率与各个预设帧率范围的范围边界值进行大小比较,由此得到第二帧率所处的帧率范围,即目标帧率范围。例如,将32hz的第二帧率与以上各个帧率范围的边界值0、45、46、75等等进行大小比对,进而得到32hz所处的帧率范围,即30hz的帧率档位对应的0-45hz的帧率范围。
77.步骤502:将目标帧率范围对应的目标帧率调整为第一帧率的帧率值。
78.其中,目标帧率范围对应有帧率档位,帧率档位的帧率值即为目标帧率范围对应的目标帧率,由此,将该目标帧率设置为第一帧率的帧率值。例如,在第一帧率为60hz且第二帧率为32hz时,由于第一帧率与第二帧率不同,因此,首先获得32hz所处的帧率范围:0-45hz的帧率范围,再将该0-45hz的帧率范围对应的目标帧率即30hz设置为第一帧率的帧率值,基于此,在经过调整后,第一帧率的帧率值为30hz。
79.在一种实现方式中,步骤104中在调整第一帧率的帧率值时,具体可以基于第一帧率和第二帧率之间的大小关系来采用不同的方式实现,如下:
80.在一种情况下,如果第一帧率大于第二帧率,在包含多个预设帧率的帧率集合中,获得小于第一帧率且与第一帧率之间的差值最小的第一目标帧率,将第一目标帧率调整为第一帧率的帧率值。
81.其中,帧率集合中包含有多个预设帧率,如30hz、60hz、90hz、120hz等,每个预设帧率可以理解为一个帧率挡位,每个帧率挡位对应于一个预设帧率范围。基于此,本实施例中在第二帧率小于第一帧率时,将第一帧率调低一个档位,也就是将处于第一帧率以下且与第一帧率最近的帧率档位上的预设频率调整为第一帧率的帧率值。而随着第一应用程序的运行以及本技术的技术方案的循环执行,第一帧率按照预设帧率对应的帧率挡位逐步被降低到与第二帧率相匹配的帧率挡位上,由此实现第一帧率和第二帧率的匹配。
82.例如,以第一应用程序为视频播放应用为例,如果手机上的屏幕刷新率即第一帧率为120hz而视频播放应用中的视频画面的动态帧率即第二帧率为32hz,那么将低于120hz的最近一个档位90hz设置为手机上的屏幕刷新率的帧率值。基于此,随着视频播放应用的视频播放,如果视频画面的动态帧率仍为32hz,那么继续将低于90hz的最近一个档位60hz设置为手机上的屏幕刷新率,以此类推,直到手机上的屏幕刷新率被设置为30hz,此时认为第一帧率和第二帧率一致,那么不再调整第一帧率的帧率值,则继续返回重新获得新的第一帧率,如此循环执行,直到视频播放应用被关闭。
83.在另一种情况下,如果第一帧率小于第二帧率,在帧率集合中,获得大于第一帧率且与帧率之间的差值最小的第二目标帧率,将第二目标帧率调整为第一帧率的帧率值。
84.其中,本实施例中在第二帧率大于第一帧率时,将第一帧率调高一个档位,也就是将处于第一帧率以上且与第一帧率最近的帧率档位上的预设频率调整为第一帧率的帧率
值。而随着第一应用程序的运行以及本技术的技术方案的循环执行,第一帧率按照预设帧率对应的帧率挡位逐步被提升到与第二帧率相匹配的帧率挡位上,由此实现第一帧率和第二帧率的匹配。
85.例如,以第一应用程序为视频播放应用为例,如果手机上的屏幕刷新率即第一帧率为60hz而视频播放应用中的视频画面的动态帧率即第二帧率为110hz,那么将高于60hz的最近一个档位90hz设置为手机上的屏幕刷新率的帧率值。基于此,随着视频播放应用的视频播放,如果视频画面的动态帧率仍为110hz,那么继续将高于90hz的最近一个档位120hz设置为手机上的屏幕刷新率,此时认为第一帧率和第二帧率一致,那么不再调整第一帧率的帧率值,则继续返回重新获得新的第一帧率,如此循环执行,直到视频播放应用被关闭。
86.在一种实现方式中,步骤102中在获得第二帧率时,可以通过以下方式实现,如图6中所示:
87.步骤601:获得第一应用程序在基于操作系统运行过程中在连续n个时间周期内的平均帧率。
88.其中,n为大于或等于1的正整数,时间周期为当前时刻之前的历史时间周期。例如,一个时间周期可以为10秒或30毫秒,具体的数值可以根据需求来设置。也就是说,本实施例中针对当前时刻之前的n个时间周期,分别计算每个时间周期的平均帧率,如图8中所示。
89.步骤602:根据平均帧率,获得第二帧率。
90.例如,本实施例中可以将这n个时间周期的平均帧率进行加和求平均,从而将这n个平均帧率之间的平均值作为第二帧率;或者,本实施例中在这n个时间周期的平均帧率中选择一个帧率作为第二帧率,例如将其中随机一个、最大、最小或大小排序中间的帧率作为第二帧率。
91.在一种实现方式中,第一帧率和第二帧率不同的含义可以有多种情况,如下:
92.在一种情况下,第一帧率和第二帧率不同是指:第一帧率和第二帧率之间的差值大于或等于第一帧率对应的控制阈值。
93.其中,第一帧率对应的控制阈值可以为固定的预设值,在第一帧率处于不同的帧率挡位时,相应的控制阈值相同,例如,120hz挡位对应的控制阈值和30hz挡位对应的控制阈值分别为15。基于此,本实施例中第一帧率和第二帧率之间的差值与该控制阈值进行大小比对,如果差值超过该控制阈值,则认为第一帧率和第二帧率不同,实际上可以理解为第一帧率与第二帧率在帧率值上不匹配。例如,如果第一帧率为120hz,而第二帧率为32hz,那么差值88远超过控制阈值15,此时认为第一帧率和第二帧率不同;再如,如果第一帧率为30hz,而第二帧率为32hz,那么差值2不超过控制阈值15,此时认为第一帧率与第二帧率是相同的。
94.或者,第一帧率对应的控制阈值可以不是固定的值,在第一帧率处于不同的帧率挡位时,相应的控制阈值不同。例如,120hz挡位对应的控制阈值为16,而30hz挡位对应的控制阈值为5。基于此,本实施例中第一帧率和第二帧率之间的差值与第一帧率对应的控制阈值进行大小比对,如果差值超过相应的控制阈值,则认为第一帧率和第二帧率不同,实际上可以理解为第一帧率与第二帧率在第一帧率相应的帧率挡位上不匹配。例如,如果第一帧
率为120hz,而第二帧率为110hz,那么差值10不超过第一帧率120hz对应的控制阈值16,此时认为第一帧率和第二帧率相同;再如,如果第一帧率为30hz,而第二帧率为36hz,那么差值6已经超过第一帧率30hz对应的控制阈值5,此时认为第一帧率与第二帧率是不同。
95.在一种情况下,第一帧率和第二帧率不同是指:第二帧率没有在第一帧率对应的帧率范围内。
96.其中,第一帧率对应的帧率范围可以理解为第一帧率所在的帧率挡位对应的帧率范围,例如,30hz的帧率挡位对应于0-45hz的帧率范围,60hz的帧率挡位对应于46-75hz的帧率范围,90hz的帧率挡位对应于76-105hz的帧率范围,120hz的帧率挡位对应于106hz以上的帧率范围。基于此,本实施例中将第二帧率与第一帧率对应的帧率范围的范围边界值进行大小判断来确定第二帧率是否与第一帧率相同。
97.例如,如果第一帧率为120hz,而第二帧率为110hz,那么第二帧率在120hz的帧率挡位对应的106hz以上的帧率范围,此时认为第一帧率和第二帧率相同;再如,如果第一帧率为30hz,而第二帧率为46hz,那么第二帧率不在30hz的帧率挡位对应的0-45hz的帧率范围,此时认为第一帧率和第二帧率不同。
98.在一种实现方式中,本实施例中除了在第二帧率与第一帧率不同时对第一帧率进行调整之外,还可以基于操作系统的使用状态参数或基于用户的帧率设置操作来调整第一帧率的帧率值。例如,首先获得针对第一帧率的设置值,之后,再将设置值调整为第一帧率的帧率值。
99.其中,设置值可以基于操作系统的使用状态参数确定或基于帧率设置操作确定。这里的操作系统的使用状态参数可以包含有基于操作系统所运行的应用程序的参数,如第一应用程序或其他应用程序,不同的应用程序对应于不同的设置值,本实施例中在监测到操作系统上运行某个应用程序的情况下,在应用与帧率之间的对应关系表中,读取该应用程序对应的设置值并将该设置值调整为第一帧率的帧率值。而帧率设置操作是指用户在电子设备的操作系统所提供的设置界面上进行帧率设置所生成的操作。具体的,用户可以根据需求在操作系统的设置界面上对第一帧率的帧率值进行设置,由此,电子设备上按照由此生成的帧率设置操作获得其中的设置值并将其设置为第一帧率的帧率值。
100.例如,在手机上启动视频播放应用时,基于本实施例中的技术方案,手机将该视频播放应用对应的设置值如90hz设置为手机的屏幕刷新率,由此,手机上的显示屏以90hz为刷新率输出视频播放应用的视频画面,与此同时,手机上对屏幕刷新率和视频播放应用在播放视频画面的过程中的动态帧率进行监测,如果动态帧率与此前设置的屏幕刷新率不同,那么可以按照动态帧率重新设置刷新率,例如,将动态帧率110hz对应的120hz帧率挡位设置为屏幕刷新率,由此以高刷新率支持高帧率的视频画面的播放,从而避免画面不流畅的情况;
101.之后,手机上继续对屏幕刷新率和视频播放应用在播放视频画面的过程中的动态帧率进行监测,由于随着视频播放应用继续播放视频画面,其动态帧率可能会发生变化,如变化为66hz,由于此时的屏幕刷新率为120hz,与动态帧率66hz不同,基于此,按照动态帧率重新设置屏幕刷新率,例如,将动态帧率66hz对应的90hz帧率挡位设置为屏幕刷新率,由此以帧率的刷新率输出视频画面,在实现画面播放流畅的同时降低手机能耗;
102.之后,手机上继续对屏幕刷新率和视频播放应用在播放视频画面的过程中的动态
帧率进行监测,由于随着视频播放应用继续播放视频画面,其动态帧率可能会发生变化,如变化为110hz,由于此时的屏幕刷新率为90hz,与动态帧率110hz不同,基于此,按照动态帧率重新设置屏幕刷新率,例如,将动态帧率110hz对应的120hz帧率挡位设置为屏幕刷新率,由此以高刷新率支持高帧率的视频画面的播放,从而避免画面不流畅的情况;
103.以此类推,直到视频播放应用被关闭或手机黑屏。
104.如果在以上过程中,用户通过手机上的设置界面设置屏幕刷新率,那么手机上将屏幕刷新率设置为用户的设置操作中的设置值,而随着视频播放应用的运行,手机上的屏幕刷新率可以相应被设置为与视频播放应用相对应帧率值,并在视频播放应用播放视频画面的过程中,按照时间周期持续监测屏幕刷新率和视频画面的动态帧率,并据此不断调整屏幕刷新率。
105.与此同时,手机上还可以根据视频播放应用和被不断调整后的屏幕刷新率按照相应的配置文件对手机上cpu运行频率等软硬件参数进行设置,以进一步平衡手机功耗和画面输出性能。
106.参考图7,为本技术实施例二提供的一种控制装置的结构示意图,该装置可以配置在具有显示装置能够输出内容的电子设备中,如手机、pad、笔记本等设备。本实施例中的技术方案主要用于改善用户使用电子设备输出内容的使用体验。
107.具体的,本实施例中的装置可以包含如下单元:
108.第一获得单元701,用于获得第一帧率,所述第一帧率与所述电子设备中的操作系统相对应;
109.第二获得单元702,用于获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;
110.帧率调整单元703,用于如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述显示装置以调整后的第一帧率输出内容。
111.从上述技术方案可以看出,本技术实施例二的一种控制装置中,首先获得与电子设备的操作系统相对应的第一帧率,然后获得基于操作系统的第一应用程序运行过程中的动态的第二帧率,进而如果第一帧率和第二帧率不同,那么调整第一帧率的帧率值,以使得操作系统所在的电子设备以调整后的第一帧率输出内容。可见,本技术中在电子设备上按照基于第一应用程序运行过程中的动态帧率所调整的帧率输出内容,由此使得操作系统对应的帧率与第一应用程序运行过程中的动态帧率相匹配,避免不匹配所导致的功耗高或输出不流畅的情况,从而改善用户使用电子设备输出内容的使用体验。
112.在一种实现方式中,本实施例中的装置还可以包含如下单元,如图8中所示:
113.参数设置单元704,用于根据所述第一应用程序以及被调整后的第一帧率,获得目标配置文件,所述目标配置文件中包含至少一项目标运行参数,以按照所述目标运行参数进行设备配置。
114.在一种实现方式中,帧率调整单元703具体用于:将所述第二帧率与多个预设帧率范围的范围边界值进行比对,以得到所述第二帧率对应的目标帧率范围;将所述目标帧率范围对应的目标帧率调整为所述第一帧率的帧率值。
115.在一种实现方式中,帧率调整单元703具体用于:如果所述第一帧率大于所述第二帧率,在包含多个预设帧率的帧率集合中,获得小于所述第一帧率且与所述第一帧率之间
的差值最小的第一目标帧率,将所述第一目标帧率调整为所述第一帧率的帧率值;如果所述第一帧率小于所述第二帧率,在所述帧率集合中,获得大于所述第一帧率且与所述帧率之间的差值最小的第二目标帧率,将所述第二目标帧率调整为所述第一帧率的帧率值。
116.在一种实现方式中,第二获得单元702具体用于:获得第一应用程序在基于操作系统运行过程中在连续n个时间周期内的平均帧率,n为大于或等于1的正整数,所述时间周期为当前时刻之前的历史时间周期;根据所述平均帧率,获得第二帧率,例如,将所述平均帧率的平均值作为第二帧率;或者,在所述平均帧率中选择一个帧率作为第二帧率。
117.可选的,所述第一帧率和所述第二帧率不同,包括:所述第一帧率和所述第二帧率之间的差值大于或等于所述第一帧率对应的控制阈值;或,所述第二帧率没有在所述第一帧率对应的帧率范围内。
118.在一种实现方式中,帧率调整单元703还用于:获得针对所述第一帧率的设置值;所述设置值基于所述操作系统的使用状态参数确定或基于帧率设置操作确定;将所述设置值调整为所述第一帧率的帧率值。
119.在一种实现方式中,在帧率调整单元703调整所述第一帧率的帧率值之后,还用于在循环条件被满足的情况下,重新触发第一获得单元701和第二获得单元702,以以得到新的第一帧率和新的第二帧率,如果所述新的第一帧率和所述新的第二帧率不同,重新调整所述新的第一帧率的帧率值,以使得所述操作系统所在的电子设备以重新调整后的第一帧率输出内容。
120.需要说明的是,本实施例中各单元的具体实现可以参考前文中的相应内容,此处不再详述。
121.参考图9,为本技术实施例三提供的一种电子设备的结构示意图,该电子设备为具有显示装置能够输出内容的电子设备,如手机、pad、笔记本等设备。本实施例中的技术方案主要用于改善用户使用电子设备输出内容的使用体验。
122.具体的,本实施例中的电子设备可以包括如下结构:
123.显示装置901;
124.处理器902,用于获得第一帧率,所述第一帧率与所述电子设备中的操作系统相对应;获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述显示装置以调整后的第一帧率输出内容。
125.从上述技术方案可以看出,本技术实施例三提供的一种电子设备中,首先获得与电子设备的操作系统相对应的第一帧率,然后获得基于操作系统的第一应用程序运行过程中的动态的第二帧率,进而如果第一帧率和第二帧率不同,那么调整第一帧率的帧率值,以使得操作系统所在的电子设备以调整后的第一帧率输出内容。可见,本技术实施例中在电子设备上按照基于第一应用程序运行过程中的动态帧率所调整的帧率输出内容,由此使得操作系统对应的帧率与第一应用程序运行过程中的动态帧率相匹配,避免不匹配所导致的功耗高或输出不流畅的情况,从而改善用户使用电子设备输出内容的使用体验。
126.以电子设备为支持高帧率模式的display panel的手机为例,本技术的技术方案多应用在视频以及游戏场景中,以下对本技术的技术方案进行详细说明:
127.首先,高帧率模式给用户带来了流畅的体验,同时也给系统功耗和性能带来了不
小的挑战。本技术的技术方案从fps(frames per second)的动态算法和操作系统各个软硬件模块的配置上着手,平衡显示操作系统和soc(system on chip)的其他部分的功能与性能参数。
128.具体的,参考图10所示的交互图,例如在视频场景下:
129.1、用户使用手机时,设置手机在120fps或60fps的屏幕刷新率,启动视频播放应用并观看视频。而手机中对所安装的应用程序预设有应用名单,其中包含有应用名、应用名对应的默认的显示刷新率(即屏幕刷新率)以及相应的配置文件,配置文件中包含有多项关于相关模块的运行参数。
130.2、本技术所实现的功能模块如在surfaceflinger增加的功能模块dynmaic refreshrate and aoss cfg service,在手机中检测到视频类应用启后,设置当前视频播放场景下对应的显示刷新率,如60fps;其他应用场景下对应的显示刷新率可能不同。
131.3、在视频播放过程中,由于视频源播放帧率的区别,实际上与操作系统上设置的显示刷新率不同,例如很可能工作在24/30/60的帧率,而不是60fps。
132.4、本技术所实现的功能模块,设定采样的时间周期period(以秒为单位),在这个周期内计算实际的视频播放帧率并计算平均值;当计算1-n个周期后,将n周期的平均帧率返回到本技术所实现的功能模块。
133.5、当步骤4计算到的平均帧率与显示刷新率之间的差值到达相应的控制阈值时,本技术所实现的功能模块按照平均帧率调整显示刷新率,并激活配置进程,在配置进程中以按照被调整的显示刷新率和当前的视频播放应用修改相关模块如cpu簇、llcc、ddr、gpu等的运行参数,如cpu调度算法、cpu运行频率、cpu对应优先级等。
134.6、当用户在视频或游戏等场景进行系统的显示刷新率切换时,本技术所实现的功能模块切换到该场景的默认配置,包含默认的显示刷新率和相关模块的运行参数,再重新执行步骤4和步骤5进行计算与监测,直到视频播放应用被关闭或手机黑屏。
135.综上,本技术的技术方案中在操作系统创建动态配置服务,即前文中的功能模块,专门用来处理各种场景下进行细分,即在各个所在场景下按照统计周期进行显示刷新率的切换和运行参数的配置:首先,根据应用名单,选择默认显示刷新率和系统中的相关模块的配置;并在固定的统计周期内,实时监测系统实际动态帧率并对显示刷新率进行实时调整;进一步的基于监测到的当前应用和被调整的显示刷新率进行综合判断,对soc各个子系统按需配置。可见,经过本技术的技术方案,在当前应用场景下,不仅可以配置合适的显示刷新率,而且可以配置恰当的系统配置,平衡功耗与性能。
136.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
137.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应
认为超出本技术的范围。
138.结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
139.对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
技术特征:
1.一种控制方法,包括:获得第一帧率,所述第一帧率与操作系统相对应;获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述操作系统所在的电子设备以调整后的第一帧率输出内容。2.根据权利要求1所述的方法,所述方法还包括:根据所述第一应用程序以及被调整后的第一帧率,获得目标配置文件,所述目标配置文件中包含至少一项目标运行参数,以按照所述目标运行参数进行设备配置。3.根据权利要求1或2所述的方法,调整所述第一帧率的帧率值,包括:将所述第二帧率与多个预设帧率范围的范围边界值进行比对,以得到所述第二帧率对应的目标帧率范围;将所述目标帧率范围对应的目标帧率调整为所述第一帧率的帧率值。4.根据权利要求1或2所述的方法,调整所述第一帧率的帧率值,包括:如果所述第一帧率大于所述第二帧率,在包含多个预设帧率的帧率集合中,获得小于所述第一帧率且与所述第一帧率之间的差值最小的第一目标帧率,将所述第一目标帧率调整为所述第一帧率的帧率值;如果所述第一帧率小于所述第二帧率,在所述帧率集合中,获得大于所述第一帧率且与所述帧率之间的差值最小的第二目标帧率,将所述第二目标帧率调整为所述第一帧率的帧率值。5.根据权利要求1或2所述的方法,获得第二帧率,包括:获得第一应用程序在基于操作系统运行过程中在连续n个时间周期内的平均帧率,n为大于或等于1的正整数,所述时间周期为当前时刻之前的历史时间周期;根据所述平均帧率,获得第二帧率。6.根据权利要求5所述的方法,根据所述平均帧率,获得第二帧率,包括:将所述平均帧率的平均值作为第二帧率;或者,在所述平均帧率中选择一个帧率作为第二帧率。7.根据权利要求1或2所述的方法,所述第一帧率和所述第二帧率不同,包括:所述第一帧率和所述第二帧率之间的差值大于或等于所述第一帧率对应的控制阈值;或,所述第二帧率没有在所述第一帧率对应的帧率范围内。8.根据权利要求1或2所述的方法,还包括:获得针对所述第一帧率的设置值;所述设置值基于所述操作系统的使用状态参数确定或基于帧率设置操作确定;将所述设置值调整为所述第一帧率的帧率值。9.根据权利要求1或2所述的方法,在调整所述第一帧率的帧率值之后,所述方法还包括:在循环条件被满足的情况下,返回执行所述步骤:获得第一帧率以及获得第二帧率,以得到新的第一帧率和新的第二帧率,如果所述新的第一帧率和所述新的第二帧率不同,重
新调整所述新的第一帧率的帧率值,以使得所述操作系统所在的电子设备以重新调整后的第一帧率输出内容。10.一种电子设备,包括:显示装置;处理器,用于获得第一帧率,所述第一帧率与所述电子设备中的操作系统相对应;获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述显示装置以调整后的第一帧率输出内容。
技术总结
本申请公开了一种控制方法及电子设备,方法包括:获得第一帧率,所述第一帧率与操作系统相对应;获得第二帧率,所述第二帧率为基于所述操作系统的第一应用程序运行过程中的动态帧率;如果所述第一帧率和所述第二帧率不同,调整所述第一帧率的帧率值,以使得所述操作系统所在的电子设备以调整后的第一帧率输出内容。出内容。出内容。
技术研发人员:吕鑫 施歆毅
受保护的技术使用者:联想(北京)有限公司
技术研发日:2021.11.29
技术公布日:2022/3/8