处理器频率的调整方法、装置、存储介质及电子设备与流程

文档序号:23395694发布日期:2020-12-22 14:03阅读:124来源:国知局
处理器频率的调整方法、装置、存储介质及电子设备与流程
本申请涉及终端
技术领域
,具体涉及一种处理器频率的调整方法、装置、存储介质及电子设备。
背景技术
:随着技术的发展,电子设备中安装的各类应用程序越来越多,且应用程序对电子设备的硬件的要求也越来越高。例如,游戏、多媒体视频播放等应用需要给用户提供流畅性较高的使用体验,因而这类应用对电子设备的性能要求较高。而相关技术中,电子设备在对处理器的频率进行调整时并不合理,会造成卡顿。技术实现要素:本申请实施例提供一种处理器频率的调整方法、装置、存储介质及电子设备,能够提高电子设备运行的流畅性。第一方面,本申请实施例提供一种处理器频率的调整方法,包括:在帧绘制开始时,确定与当前场景相对应的关键线程,其中,所述关键线程为在帧绘制发生的一帧时间内决定所述帧绘制长短的线程;在过去预设数量的帧绘制过程中,选取所述关键线程中平均每帧运行的时间最长的线程作为目标线程,并将所述目标线程的所述平均每帧运行的时间作为目标帧绘制负载;根据所述目标帧绘制负载调整当前处理器的频率下限。第二方面,本申请实施例还提供一种处理器频率的调整装置,包括:确定模块,用于在帧绘制开始时,确定与当前场景相对应的关键线程,其中,所述关键线程为在帧绘制发生的一帧时间内决定所述帧绘制长短的线程;处理模块,用于在过去预设数量的帧绘制过程中,选取所述关键线程中平均每帧运行的时间最长的线程作为目标线程,并将所述目标线程的所述平均每帧运行的时间作为目标帧绘制负载;调整模块,用于根据所述目标帧绘制负载调整当前处理器的频率下限。第三方面,本申请实施例还提供一种存储介质,其上存储有计算机程序,当所述计算机程序在计算机上运行时,使得所述计算机执行如本申请任一实施例提供的处理器频率的调整方法。第四方面,本申请实施例还提供一种电子设备,包括处理器和存储器,所述存储器有计算机程序,所述处理器通过调用所述计算机程序,用于执行如本申请任一实施例提供的处理器频率的调整方法。本申请实施例提供的技术方案,通过在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程,然后,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,将该目标线程的平均每帧运行的时间作为目标帧绘制负载,再然后,根据目标帧绘制负载调整当前处理器的频率下限。由于现有技术中,频率调度器在进行处理器的频率调节时,会和处理器的负载变化错开一个周期,使得存在关键线程执行时处理器频率较低的问题,因此导致丢帧、卡顿的问题,而本方案在调整处理器的频率时,通过在过去预设数量的帧绘制过程中,选取所有关键线程中平均每帧运行的时间最长的线程,并将该线程的平均每帧运行的时间作为目标帧绘制负载,基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。本方案能够使得处理器的频率曲线和实际的负载曲线尽量的重叠,减少了由于负载和频率迟滞导致的卡顿问题,提高了电子设备的运行的流畅性。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的处理器频率的调整方法的应用场景示意图。图2为本申请实施例提供的处理器频率的调整方法的第一种流程示意图。图3为本申请实施例提供的处理器频率的调整方法的第二种流程示意图。图4为本申请实施例提供的处理器频率的调整方法的第三种流程示意图。图5为本申请实施例提供的处理器频率的调整装置的结构示意图。图6为本申请实施例提供的电子设备的第一种结构示意图。图7为本申请实施例提供的电子设备的第二种结构示意图。具体实施方式下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本申请的保护范围。在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。本申请实施例提供一种处理器频率的调整方法,该处理器频率的调整方法的执行主体可以是本申请实施例提供的处理器频率的调整装置,或者集成了该处理器频率的调整装置的电子设备,其中该处理器频率的调整装置可以采用硬件或者软件的方式实现。其中,电子设备可以是智能手机、平板电脑、掌上电脑、笔记本电脑、或者台式电脑等设备。例如,以该处理器频率调整的方法的执行主体为电子设备为例,则如图1所示,电子设备可以通过在帧绘制开始时,确定与当前场景相对应的关键线程,其中,帧绘制是帧绘制周期的简称,表示绘制某帧画面的过程,具体来说,帧绘制周期是指相邻两帧显示间隔。关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程(例如,可以为t1(ux)、t2(ux)...tn(ux)),除该关键线程之外的线程为非关键线程(例如,可以为t1、t2...tn),然后,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的平均每帧运行的时间作为目标帧绘制负载,再然后,根据目标帧绘制负载调整当前处理器的频率下限。这样,通过选取所有关键线程中平均每帧运行的时间最长的线程,并将该线程的平均每帧运行的时间作为目标帧绘制负载,然后基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。以下分别进行详细说明,需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。请参阅图2,图2为本申请实施例提供的处理器频率的调整方法的第一种流程示意图。本申请实施例提供的处理器频率的调整方法的具体流程可以如下:101、在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程。现有技术中,在android(安卓)系统使用的linuxkernel(一种开源电脑操作系统内核)中,一般使用处理器频率调节器用于调节处理器的频率。其中,基于利用率的一种频率调节器(schedutilgovernor)是目前使用较多的频率调节器,它基于linuxkernel调度器统计得到的利用率等信息作为进行cpu频率调整的依据。但是,如果调度器所统计的利用率和当前场景的关键线程关联性不强,可能会导致频率调节器选择一个比较高的处理器频率,而关键线程从中受益很少,因而导致用户在使用电子设备过程中产生卡顿、丢帧的问题,并且还会损失功耗进而影响电子设备的续航表现。此外,由于调度器的利用率统计算法,例如,walt(windowassistedloadtracking,窗口辅助负载跟踪),它受制于其基于过去,预测未来的特性,因此它统计的利用率相对于实际的处理器负载的变化必然存在一定的滞后。在类似于游戏这样周期性绘制的应用场景下,处理器频率有时会和处理器负载变化错开一个周期:在关键线程执行的时候处理器处于比较低的频点,在关键线程睡眠的时候,处理器处于较高的频点,同样也会导致用户在使用电子设备过程中产生卡顿、丢帧的问题。本申请实施例中通过识别类似游戏这样的周期性绘制的场景下的关键线程,通过关键线程为切入点,以避免上述问题。例如,在游戏、多媒体视频播放等用户比较关注流畅性表现的场景中,识别和帧绘制相关的关键线程。例如,应用为游戏时,场景可以包括大厅等待,资源加载,草地奔跑,打野,开车奔驰等。需要说明的是,关键线程是在帧绘制周期内发挥重要作用的、决定这一次绘制时间长短(即当前界面的屏幕刷新率)的线程集合。一般来说,帧绘制周期中最后结束运行的线程决定这一次绘制时间的长短。同一场景中的关键线程一般为某些特定的线程,例如,ui(userinterface,用户界面)线程,render(渲染)线程以及引擎线程等。不同场景中的关键线程会有所变化。102、在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的平均每帧运行的时间作为目标帧绘制负载。其中,帧绘制过程指的是一帧的绘制过程。关键线程在一个帧绘制周期内在处理器上的运行时间,为帧绘制负载。具体地,关键线程包括多种类型的关键线程,在过去预设数量的帧绘制过程中,分别计算不同类型关键线程的平均每帧运行的时间,然后,选取其中平均每帧运行的时间最长的一类关键线程的平均每帧运行的时间作为目标帧绘制负载。103、根据目标帧绘制负载调整当前处理器的频率下限。其中,处理器的频率下限为默认值,一般为出厂设置默认值。处理器(cpu,centralprocessingunit)频率即处理器的时钟频率,是指处理器运算时的工作的频率,单位是hz,处理器频率决定计算机的运行速度。在本申请实施例中由于当前场景有关键线程的存在,而该频率下限的默认值往往较低,无法满足当前场景中关键线程正常运行的需要,所以,将能满足当前负载较大的线程正常运行的处理器频率值作为当前处理器的频率下限,从而能减少丢帧、卡顿的问题。具体实施时,本申请不受所描述的各个步骤的执行顺序的限制,在不产生冲突的情况下,某些步骤还可以采用其它顺序进行或者同时进行。由上可知,本申请实施例提供的处理器频率的调整方法,通过在帧绘制开始时确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程,然后,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的平均每帧运行的时间作为目标帧绘制负载,再然后,根据目标帧绘制负载调整当前处理器的频率下限。本方案基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。根据前面实施例所描述的方法,以下将举例作进一步详细说明。请参阅图3,图3为本申请实施例提供的处理器频率的调整方法的第二流程示意图。所述方法包括:201、在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程。例如,可以在与帧绘制相关的应用下通过对各种类型的场景进行测试,记录不同类型场景下对应的关键线程,并对其进行标记,则在识别某一类型场景中的关键线程时可以直接通过该标记来确定。其中,与帧绘制相关的应用可以为游戏应用。202、在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的平均每帧运行的时间作为目标帧绘制负载。例如,预设数量可以为10次,在过去10次的帧绘制过程中,当前场景中有a类关键线程、b类关键线程以及c类关键线程参与运行,分别统计得到a类关键线程在该过去10次的帧绘制过程中平均每帧运行的时间为t1,b类关键线程,在该过去10次的帧绘制过程中平均每帧运行的时间为t2,c类关键线程在该过去10次的帧绘制过程中平均每帧运行的时间为t3,其中t3最大,则将t3作为目标帧绘制负载。203、获取在过去预设数量的帧绘制过程中关键线程的平均每帧运行的时间、每帧绘制时处理器的平均频率以及当前场景的目标帧率,目标帧率为预设固定值。例如,预设数量可以为10次,在过去10次的帧绘制过程中,当前场景中有a类关键线程、b类关键线程以及c类关键线程参与运行,即计算这三类关键线程在该过去10次绘制过程中平均每帧运行的时间,并计算这10次绘制过程中处理器的平均频率。在一种实施方式中,该预设固定值有多个,203中的获取当前场景的目标帧率的流程,可以包括:获取当前场景中的帧率。选取与该帧率最接近的预设固定值作为目标帧率,该目标帧率不小于所述帧率。其中,目标帧率是当前场景的预设固定值,目标帧率通常取值为30fps、45fps、60fps、90fps、120fps以及144fps。在判断当前场景的目标帧率时可以根据以下表格做出相应的判断:当前场景中的帧率目标帧率的预设固定值<=30fps30fps<=45fps45fps<=60fps60fps<=90fps90fps<=120fps120fps<=144fps144fps比如,若当前场景中的帧率为55fps,该值55fps<=60fps,则确定当前场景中的目标帧率为60fps。实际上,目标帧率即为使当前场景不丢帧的帧率,目标帧率可以人为设置,也可以有相应的程序根据当前场景的变更而自动变更。204、根据关键线程的平均每帧运行的时间、每帧绘制时处理器的平均频率、当前场景的目标帧率以及目标帧绘制负载得到第一目标频率。满足目标帧率的最低频率的推算方法如下:记在过去预设数量的帧绘制过程中,关键线程的平均每帧运行的时间为array(runningavgms),每帧绘制时处理器的平均频率为freqavg,目标帧绘制负载为keyrunningavgms,目标帧率为fpstarget,目标帧率对应的每帧绘制时间为targetrunningms=1000/fpstarget,第一目标频率为freq,那么满足目标帧率fpstarget的第一目标频率freq为:freq=keyrunningavgms*freqavg/targetrunningms205、将当前处理器的频率下限调整为第一目标频率。即将当前处理器的频率下限更新为上述得到的第一目标频率。在一种实施方式中,该处理器频率的调整方法还可以包括:将当前场景与当前场景对应的第一目标频率相关联并上传至云端。例如,应用为游戏时,场景可以包括大厅等待,资源加载,草地奔跑,打野,开车奔驰等。比如,可以在测试环境中将特定的与帧绘制相关的应用中的场景进行标记,区分不同类型的场景,并分别计算不同类型场景下的第一目标频率,将该场景类型以及场景类型对应的第一目标频率发送到云端,作为电子设备端特定应用场景的默认第一目标频率。在一种实施方式中,该处理器频率的调整方法还可以包括:当对当前场景的处理器频率进行调整时,从云端获取当前场景对应的第一目标频率;根据第一目标频率调整处理器的下限频率。例如,当电子设备处于某一类型场景时,可以直接从云端获取该类型场景相对应的第一目标频率,可以减少电子设备端收集到足够多有效数据的等待时间,提高本方案处理器的频率调整的效率。可以理解的是,该第一目标频率可以根据过去一段时间内关键线程的帧绘制负载动态变化。在一种实施方式中,在与帧绘制相关的应用中不同场景的关键线程类型也会发生变化,可以由该与帧绘制相关应用通过操作系统向调度器下发场景变化通知消息,以及时触发本案的处理器频率的调整机制对当前场景的处理器频率下限进行动态调节。206、在帧绘制结束后,将当前处理器的频率下限恢复为默认值。在帧绘制结束后,当前场景没有关键线程参与运行,则此时对算力的需求较小,因此将频率下限恢复为默认值,可以节省功耗。在一种实施方式中,除关键线程之外的线程为非关键线程,在206流程将当前处理器的所述频率下限恢复为默认值之后还可以包括:其中,非关键线程在一个帧绘制周期内在处理器上的运行时间为帧绘制无关负载。具体地,在帧绘制结束后,获取在过去预设数量的帧绘制过程中非关键线程的平均每帧运行的时间作为当前场景的帧绘制无关负载,然后,基于当前场景的帧绘制无关负载,根据频率调节器确定第二目标频率,再然后,将频率下限由默认值调整为第二目标频率。这里根据频率调节器调整处理器频率是现有技术,此处不进行具体说明。由上可知,本申请实施例提出的处理器频率的调整方法,通过在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程,然后,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,将该目标线程的平均每帧运行的时间作为目标帧绘制负载,再然后,根据目标帧绘制负载调整当前处理器的频率下限。由于现有技术中,频率调度器在进行处理器的频率调节时,会和处理器的负载变化错开一个周期,使得存在关键线程执行时处理器频率较低的问题,因此导致丢帧、卡顿的问题,而本方案在调整处理器的频率时,通过在过去预设数量的帧绘制过程中,选取所有关键线程中平均每帧运行的时间最长的线程,并将该线程的平均每帧运行的时间作为目标帧绘制负载,基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。本方案能够使得处理器的频率曲线和实际的负载曲线尽量的重叠,减少了由于负载和频率迟滞导致的卡顿问题,提高了电子设备的运行的流畅性。请参阅图4,图4为本申请实施例提供的处理器频率的调整方法的第三种流程示意图。所述方法包括:301,在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程。例如,可以在帧绘制类应用下通过对各种类型的场景进行测试,记录能在绘制发生的这一帧时间内决定这一帧绘制长短的线程,则标记该线程为关键线程,则在识别关键线程时可以通过该标记来确定。例如,在帧绘制开始时,识别到当前场景中关键线程包括a类线程、b类线程以及c类线程。302,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的平均每帧运行的时间作为目标帧绘制负载。比如,预设数量可以取值为3次,电子设备获取在这一帧之前,过去3次帧绘制过程中a类线程、b类线程以及c类线程的平均每帧运行的时间分别为10ms、12ms以及8ms,其中,b类线程的运行时间最长,即将12ms作为目标帧绘制负载。303,获取在过去预设数量的帧绘制过程中关键线程的平均每帧运行的时间、每帧绘制时处理器的平均频率以及当前场景的目标帧率,目标帧率为预设固定值。比如,接着流程302中的举例,获取在过去3次帧绘制过程中关键线程的平均运行的时间,即:(10ms+12ms+8ms)/3=10ms。比如,第一帧绘制过程中处理器频率为2.0ghz,第二帧绘制过程中处理器频率为1.5ghz,以及第三帧绘制过程中处理频率为2.5ghz,则每帧绘制时处理器的平均频率为(2.0ghz+1.5ghz+2.5ghz)/3=2ghz.比如,若当前场景中的帧率为55fps,该值55fps<=60fps,则确定当前场景中的目标帧率为60fps。304、根据关键线程的平均每帧运行的时间、每帧绘制时处理器的平均频率、当前场景的目标帧率以及目标帧绘制负载得到第一目标频率。其中,满足目标帧率的最低频率的推算方法如下:记在过去预设数量的帧绘制过程中,关键线程的平均每帧运行的时间为array(runningavgms),每帧绘制时处理器的平均频率为freqavg,目标帧绘制负载为keyrunningavgms,目标帧率为fpstarget,目标帧率对应的每帧绘制时间为targetrunningms=1000/fpstarget,第一目标频率为freq,那么满足目标帧率fpstarget的第一目标频率freq为:freq=keyrunningavgms*freqavg/targetrunningms例如,将上述举例中的值带入公式计算:freq=12*2/(1000/60)=1.44ghz,即将1.44ghz作为第一目标频率。305、获取当前场景中在不同的处理器的频率下关键线程在帧绘制过程中的运行时间的数据信息。由于实际情况中硬件软件或者物理因素的影响,例如,d线程在100mz的处理器的频率下,理想状态下一帧绘制的时间为50ms,但实际情况下d线程在100mz处理器的频率下一帧绘制的时间会比理想情况下要长,例如可以为60ms。所以,需要测试不同处理器的频率下关键线程在绘制过程中的数据信息,并进行统计得出一个补偿值,即修正值。306、根据数据信息计算第一目标频率的修正值。比如,在处理器频率为2.0ghz的频率下,关键线程e在理想情况下一帧绘制时间为2.5ms,在处理器频率为2.0ghz的频率下,关键线程在实际情况下一帧绘制时间为3ms,则修正值为3/2.5=1.2。需要说明的是,这里仅仅举例修正值计算的大致思想,实际计算过程中会获取更多的数据信息,根据不同场景的表现进行拟合,得出修正值。理论上不同场景对应的修正值是固定的,可以分别测试出不同场景对应的修正值,作为对应场景的修正默认值,当需要使用时根据场景直接调用该值。其中,修正值为大于1的常数。307、基于修正值对第一目标频率进行修正处理。其中,满足目标帧率fpstarget的修正后的第一目标频率freq为:freq=c*keyrunningavgms*freqavg/targetrunningms比如,记修正值为c,若当前场景的修正值c=2,接着流程304中的举例,将修正值c=2带入上述公式计算:freq=1.3*12*2/(1000/60)=1.872ghz,即将1.872ghz作为修正处理后的第一目标频率。308、将当前处理器的频率下限调整为修正处理后的第一目标频率。例如,若当前处理器的频率下限的默认值为500mhz,则将当前处理器的频率下限由500mhz更新为1.872ghz。309、在帧绘制结束后,将当前处理器的频率下限恢复为默认值。例如,若当前处理器的频率下限的默认值为500mhz,则将当前处理器的频率下限由1.872ghz恢复为500mhz。由上可知,本申请实施例提出的处理器频率的调整方法,通过在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程,然后,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,将该目标线程的平均每帧运行的时间作为目标帧绘制负载,再然后,根据目标帧绘制负载调整当前处理器的频率下限。本方案基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。此外,本申请中还通过获取当前场景中在不同处理器的频率下所述关键线程在帧绘制过程中的运行时间的数据信息,然后根据该数据信息计算针对该第一目标频率的修正值,并基于该修正值对第一目标频率进行修正处理,将当前处理器的频率下限调整为修正处理后的第一目标频率,使得在调节处理器的频率性时调整的准确性较高。在一实施例中还提供一种处理器频率的调整装置。请参阅图5,图5为本申请实施例提供的处理器频率的调整装置400的结构示意图。其中该处理器频率的调整装置300应用于电子设备,该处理器频率的调整装置300包括确定模块401、处理模块402以及调整模块403,如下:确定模块401,用于在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程;处理模块402,用于在过去预设数量的帧绘制过程中,选取所述关键线程中平均每帧运行的时间最长的线程作为目标线程,并将所述目标线程的所述平均每帧运行的时间作为目标帧绘制负载;调整模块403,用于根据所述目标帧绘制负载调整当前处理器的频率下限。在一种实施方式中,所述调整模块403用于:获取在所述过去预设数量的帧绘制过程中所述关键线程的平均每帧运行的时间、每帧绘制时处理器的平均频率以及当前场景的目标帧率,所述目标帧率为预设固定值;根据所述关键线程的平均每帧运行的时间、每帧绘制时处理器的平均频率、当前场景的目标帧率以及所述目标帧绘制负载得到第一目标频率;将所述当前处理器的所述频率下限调整为所述第一目标频率。在一种实施方式中,所述调整模块403可以用于:在所述帧绘制结束后,将所述当前处理器的所述频率下限恢复为默认值。在一种实施方式中,除所述关键线程之外的线程为非关键线程,所述调整模块403可以用于:在所述帧绘制结束后,获取在所述过去预设数量的帧绘制过程中所述非关键线程的平均每帧运行的时间作为当前场景的帧绘制无关负载;基于所述当前场景的帧绘制无关负载,根据频率调节器确定第二目标频率;将所述频率下限由所述默认值调整为所述第二目标频率。在一种实施方式中,所述调整模块403可以用于:标记所述当前场景的类型为第一类型场景;将所述第一类型场景以及所述第一类型场景对应的所述第一目标频率发送至云端保存;当处理所述第一类型场景时,从云端获取所述第一类型场景对应的第一目标频率;根据所述第一目标频率调整处理器的下限频率。在一种实施方式中,所述调整模块403可以用于:获取当前场景中在不同的处理器的频率下所述关键线程在帧绘制过程中的运行时间的数据信息;根据所述数据信息计算所述第一目标频率的修正值;基于所述修正值对所述第一目标频率进行修正处理。在一种实施方式中,所述预设固定值有多个,所述调整模块403可以用于:获取当前场景中的帧率;选取与所述帧率最接近的预设固定值作为所述目标帧率,所述目标帧率不小于所述帧率。应当说明的是,本申请实施例提供的处理器频率的调整装置与上文实施例中的处理器频率的调整方法属于同一构思,通过该处理器频率的调整装置可以实现处理器频率的调整方法实施例中提供的任一方法,其具体实现过程详见处理器频率的调整方法实施例,此处不再赘述。由上可知,本申请实施例提出的处理器频率的调整装置400,通过确定模块401用于在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程,通过处理模块402用于在过去预设数量的帧绘制过程中,选取所述关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的运行时间作为目标帧绘制负载,通过调整模块403用于根据所述目标帧绘制负载调整当前处理器的频率下限。本方案基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。本申请实施例还提供一种电子设备500。所述电子设备500可以是智能手机、平板电脑等设备。请参阅图6,图6为本申请实施例提供的电子设备的第一种结构示意图。电子设备500包括处理器500和存储器502。其中,处理器501与存储器502电性连接。该处理器501是电子设备500的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或调用存储在存储器502内的计算机程序,以及调用存储在存储器502内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。该存储器502可用于存储软件程序以及模块,处理器501通过运行存储在存储器502的计算机程序以及模块,从而执行各种功能应用以及数据处理。存储器502可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的计算机程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器502可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器502还可以包括存储器控制器,以提供处理器501对存储器502的访问。在本实施例中,电子设备500中的处理器501会按照如下的步骤,将一个或一个以上的计算机程序的进程对应的指令加载到存储器502中,并由处理器501来运行存储在存储器502中的计算机程序,从而实现各种功能,如下:在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程;在过去预设数量的帧绘制过程中,选取所述关键线程中平均每帧运行的时间最长的线程作为目标线程,并将所述目标线程的所述平均每帧运行的时间作为目标帧绘制负载;根据所述目标帧绘制负载调整当前处理器的频率下限。在一种实施方式中,处理器501执行根据所述目标帧绘制负载调整当前处理器501的频率下限时,可以执行:获取在所述过去预设数量的帧绘制过程中所述关键线程的平均每帧运行的时间、每帧绘制时处理器501的平均频率以及当前场景的目标帧率,所述目标帧率为预设固定值;根据所述关键线程的平均每帧运行的时间、每帧绘制时处理器501的平均频率、当前场景的目标帧率以及所述目标帧绘制负载得到第一目标频率;将所述当前处理器501的所述频率下限调整为所述第一目标频率。在一种实施方式中,处理器501在执行将所述当前处理器501的频率下限调整为所述第一目标频率之后,可以执行:在所述帧绘制结束后,将所述当前处理器501的所述频率下限恢复为默认值。在一实施方式中,除所述关键线程之外的线程为非关键线程,处理器501在执行将当前处理器501的所述频率下限恢复为默认值之后,可以执行:在所述帧绘制结束后,获取在所述过去预设数量的帧绘制过程中所述非关键线程的平均每帧运行的时间作为当前场景的帧绘制无关负载;基于所述当前场景的帧绘制无关负载,根据频率调节器确定第二目标频率;将所述频率下限由所述默认值调整为所述第二目标频率。在一实施方式中,所述处理器501在执行根据所述关键线程的平均每帧运行的时间、每帧绘制时处理器501的平均频率、当前场景的目标帧率以及所述目标帧绘制负载得到第一目标频率之后,可以执行:标记所述当前场景的类型为第一类型场景;将所述第一类型场景以及所述第一类型场景对应的所述第一目标频率发送至云端保存;当处理所述第一类型场景时,从云端获取所述第一类型场景对应的第一目标频率;根据所述第一目标频率调整处理器501的下限频率。在一实施方式中,所述处理器501在执行获取当前场景的目标帧率时,可以执行:获取当前场景中的帧率;选取与所述帧率最接近的预设固定值作为所述目标帧率,所述目标帧率不小于所述帧率。由上可知,本申请实施例通过在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程,然后,在过去预设数量的帧绘制过程中,选取关键线程中平均每帧运行的时间最长的线程作为目标线程,并将该目标线程的平均每帧运行的时间作为目标帧绘制负载,再然后,根据目标帧绘制负载调整当前处理器的频率下限。本方案基于目标帧绘制负载动态调整当前处理器的频率下限,使得在调节处理器的频率时,能基于场景以及场景中关键负载对算力的需求,让频率调节更具有针对性,因而使得在存在关键线程运行的场景中,避免处理器的频率降得过低导致丢帧、卡顿的问题。请一并参阅图7,图7为本申请实施例提供的电子设备的第二种结构示意图。在某些实施方式中,电子设备500还可以包括:显示器503、射频电路504、音频电路505以及电源506。其中,显示器503、射频电路504、音频电路505以及电源506分别与处理器501电性连接。该显示器503可以用于显示由用户输入的信息或提供给用户的信息以及各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示器503可以包括显示面板,在某些实施方式中,可以采用液晶显示器(liquidcrystaldisplay,lcd)、或者有机发光二极管(organiclight-emittingdiode,oled)等形式来配置显示面板。该射频电路504可以用于收发射频信号,以通过无线通信与网络设备或其他电子设备建立无线通讯,与网络设备或其他电子设备之间收发信号。该音频电路505可以用于通过扬声器、传声器提供用户与电子设备之间的音频接口。该电源506可以用于给电子设备500的各个部件供电。在一些实施例中,电源506可以通过电源管理系统与处理器501逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。尽管图7中未示出,电子设备500还可以包括摄像头、蓝牙模块等,在此不再赘述。本申请实施例还提供一种存储介质,所述存储介质中存储有计算机程序,当所述计算机程序在计算机上运行时,所述计算机执行上述任一实施例所述的处理器频率的调整方法,比如:在帧绘制开始时,确定与当前场景相对应的关键线程,其中,关键线程为在帧绘制发生的一帧时间内决定帧绘制长短的线程;在过去预设数量的帧绘制过程中,选取所述关键线程中平均每帧运行的时间最长的线程作为目标线程,并将所述目标线程的所述平均每帧运行的时间作为目标帧绘制负载;根据所述目标帧绘制负载调整当前处理器的频率下限。需要说明的是,本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过计算机程序来指令相关的硬件来完成,所述计算机程序可以存储于计算机可读存储介质中,所述存储介质可以包括但不限于:只读存储器(rom,readonlymemory)、随机存取存储器(ram,randomaccessmemory)、磁盘或光盘等。此外,本申请中的术语“第一”、“第二”和“第三”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备没有限定于已列出的步骤或模块,而是某些实施例还包括没有列出的步骤或模块,或某些实施例还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。以上对本申请实施例所提供的处理器频率的调整方法、装置、存储介质及电子设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1