一种自动调节工作频率的方法及终端设备与流程

文档序号:12595010阅读:355来源:国知局

本发明涉及图形处理器技术领域,尤其涉及一种自动调节工作频率的方法及终端设备。



背景技术:

现有技术中,很多嵌入式产品的图形显示功能通常依靠图形处理器(Graphic Processing Unit,GPU)进行处理。所谓GPU,是一种专门在个人电脑、工作站、游戏机和一些移动设备(如平板电脑、智能手机等)上进行图像运算工作的微处理器,是显卡的“心脏”。

现有技术中,GPU在进行图像显示处理时,通常无法自动调节频率,即使有自动变频的功能,通常也是依照GPU的负载(即当前占用率)来进行频率调节,无法同时顾及图形显示界面,即无法根据用户体验进行自动变频。



技术实现要素:

根据现有技术中存在的问题,现提供一种自动调节工作频率的方法及终端设备的技术方案,旨在实现图形处理器工作频率随每秒传输帧数自动调节,可以覆盖所有图形显示场景,降低系统功耗,满足用户需求。

上述技术方案具体包括:

一种自动调节工作频率的方法,适用于设置图形处理器的终端设备;其中,于所述终端设备中预设有标准帧数范围,所述标准帧数范围预设有多个,以及

预设与所述多个标准帧数范围对应的标准负载范围,所述标准负载范围预设有多个,还包括下述步骤:

步骤S1,所述终端设备检测得到关联于图形显示界面的当前一预定周期内的传输帧数并输出;

步骤S2,所述终端设备将检测得到的所述传输帧数换算成每秒传输帧数 并输出;

步骤S3,所述终端设备根据所述每秒传输帧数匹配查找得到对应的所述标准帧数范围,随后获取对应于查找得到的所述标准帧数范围的所述标准负载范围;

步骤S4,所述终端设备获取所述图形处理器当前的工作负载;

步骤S5,若所述工作负载未匹配于所述标准负载范围,则所述终端设备根据当前的所述工作负载调整所述图形处理器的工作频率,随后返回所述步骤S1。

优选的,该自动调节工作频率的方法,其中,执行所述步骤S1之前,所述终端设备首先依照预设的顺序排列预设的所述多个标准帧数范围;

则所述步骤S3中,所述终端设备根据所述每秒传输帧数匹配查找得到对应的所述标准帧数范围的方法包括:

所述终端设备依照所述预设的顺序,依次将所述每秒传输帧数与每个所述标准帧数范围进行比较。

优选的,该自动调节工作频率的方法,其中,若所述步骤S3中的所述每秒传输帧数匹配于一取值范围为[57,60)的所述标准帧数范围,则所述步骤S4中,所述终端设备获取取值范围为[70%x,90%x]的所述标准负载范围;

其中,

x表示所述图形处理器满负载工作时的所述工作负载。

优选的,该自动调节工作频率的方法,其中,若所述步骤S3中的所述每秒传输帧数匹配于一取值范围为[20,57)的所述标准帧数范围,则所述步骤S4中,所述终端设备获取取值范围为[35%x,55%x]的所述标准负载范围;

其中,

x表示所述图形处理器满负载工作时的所述工作负载。

优选的,该自动调节工作频率的方法,其中,若所述步骤S3中的所述每秒传输帧数匹配于一取值范围为[10,20)的所述标准帧数范围,则所述步骤S4中,所述终端设备获取取值范围为[50%x,70%x]的所述标准负载范围;

其中,

x表示所述图形处理器满负载工作时的所述工作负载。

优选的,该自动调节工作频率的方法,其中,若所述步骤S3中的所述 每秒传输帧数匹配于一取值范围为(0,10)的所述标准帧数范围,则所述步骤S4中,所述终端设备获取取值范围为[35%x,55%x]的所述标准负载范围;

其中,

x表示所述图形处理器满负载工作时的所述工作负载。

优选的,该自动调节工作频率的方法,其中,所述步骤S5中,在所述工作负载匹配于所述标准负载范围时,直接返回所述步骤S1。

优选的,该自动调节工作频率的方法,其中,所述步骤S5中,所述终端设备根据当前的所述工作负载调整所述图形处理器的工作频率的方法包括:

在所述工作负载高于被获取的所述标准负载范围的所述上限值时,所述终端设备提升所述图形处理器当前的所述工作频率。

优选的,该自动调节工作频率的方法,其中,所述步骤S5中,所述终端设备根据当前的所述工作负载调整所述图形处理器的工作频率的方法包括:

在所述工作负载不高于被获取的所述标准负载范围的所述上限值时,所述终端设备降低所述图形处理器当前的所述工作频率。

优选的,该自动调节工作频率的方法,其中,所述预设的顺序为:

所述终端设备按照关联于每个所述标准帧数范围的上限值,由高至低对预设的所述多个标准帧数范围进行排序。

一种设置有图形处理器的终端设备,其中,采用上述的自动调节工作频率的方法。

上述技术方案的有益效果是:提供一种自动调节工作频率的方法,能够实现图形处理器工作频率随每秒传输帧数自动调节,可以覆盖所有图形显示场景,降低系统功耗,满足用户需求。

附图说明

图1是本发明的较佳的实施例中,一种自动调节工作频率的方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。

本发明的较佳的实施例中,基于现有技术中存在的上述问题,现提供一种自动调节工作频率的方法,其适用于设置有图形处理器(GPU)的终端设备。

则本发明的较佳的实施例中,上述设置有GPU的终端设备可以为桌上终端设备,例如个人电脑,也可以为便携终端设备,例如移动终端以及笔记本电脑等。

本发明的较佳的实施例中,于设置有图形处理器(下文中以GPU作为简称)的终端设备中预设有标准帧数范围,上述标准帧数范围预设有多个;

于上述终端设备中还预设与上述多个标准帧数范围相对应的标准负载范围;同样地,上述标准负载范围也预设有多个。

则本发明的较佳的实施例中,如图1所示,上述自动调节工作频率的方法具体包括:

步骤S1,终端设备检测得到关联于图形显示界面的当前一预定周期内的传输帧数并输出;

步骤S2,终端设备将检测得到的传输帧数换算成每秒传输帧数并输出;

步骤S3,终端设备根据每秒传输帧数匹配查找得到对应的标准帧数范围,随后获取对应于查找得到的标准帧数范围的标准负载范围;

步骤S4,终端设备获取图形处理器当前的工作负载;

步骤S5,若工作负载未匹配于标准负载范围,则终端设备根据当前的工作负载调整图形处理器的工作频率,随后返回步骤S1。

在一个具体实施例中,在终端设备中预设多个标准帧数范围,以及对应 的多个标准负载范围。换言之,在终端设备内预设多个标准帧数范围,并且对应每个标准帧数范围对应设置一个标准负载范围,多个标准帧数范围可以共用一个标准负载范围。

则终端设备首先检测并获取图形显示界面当前一个预定周期内的传输帧数,并且将该传输帧数换算成每秒传输帧数(Frames per Second,以下简称为FPS),并根据当前的FPS查找得到相匹配的标准帧数范围。则该实施例中,在终端设备中预设的多个标准帧数范围相叠加,能够覆盖图形显示界面的FPS可能达到的值的范围。例如,图形显示界面的当前FPS值的取值范围通常为0帧到60帧,高于60帧则表示此时的图形显示不正常(例如图形显示非常卡顿),因此高于60帧的情况并不在本发明的考虑之列,则上述多个标准帧数范围相互叠加后能够覆盖的范围也是0帧到60帧(下文中会详述)。

该实施例中,所谓预定周期,可以为终端设备的显示屏的变频周期。则上述步骤S1中,当前的一个预定周期内的传输帧数,即为终端设备的当前的一个变频周期内的传输帧数。例如,当前的变频周期为250ms,则终端设备检测获得的传输帧数即为该250ms内的传输帧数。随后为了便于下述步骤的比较过程,终端设备将获取的传输帧数等比扩展到1秒周期内,因此得到上述FPS。

该实施例中,若终端设备判断当前的FPS匹配于其中一个标准帧数范围,则终端设备根据该被匹配的标准帧数范围获取相应的标准负载范围,随后将GPU当前的工作负载与被获取的标准负载范围进行比较:

若当前的工作负载未匹配于被获取的标准负载范围,则终端设备根据当前的工作负载对GPU当前的工作频率进行调整;

若当前的工作负载匹配于被获取的标准负载范围,则终端设备保持GPU当前的工作频率。

该实施例中,在执行完上述步骤后,终端设备重新返回上述步骤S1,以继续对图形显示界面当前的预定周期内的传输帧数进行检测,并等比转换成FPS。

本发明的较佳的实施例中,于上述终端设备内预设有多个标准帧数范围,相应地就需要预设多个标准负载范围。

则本发明的较佳的实施例中,执行上述步骤S1之前,终端设备首先按照预设的顺序对上述预设的标准帧数范围进行排序。

则上述步骤S3中,终端设备根据每秒传输帧数匹配查找得到对应的标准帧数范围的方法包括:

终端设备按照上述预设的顺序依次将当前的FPS与每个标准帧数范围进行比较:

通过依序比较,一旦找到相匹配的标准帧数范围,则直接获取与该标准帧数范围相匹配的标准负载范围,随后直接转向步骤S4。

例如,当前在终端设备内预设有4个标准帧数范围,并按照预设的顺序进行排列。则上述步骤S3中,终端设备首先将当前的FPS与排在第一位的标准帧数范围进行比较:若匹配则直接转至步骤S4,若不匹配则选择下一个标准帧数范围并继续进行比较。上述过程依次进行,直至排列在最后一个的标准帧数范围被比较完毕为止。上述比较过程中,若存在有匹配于当前的FPS的标准帧数范围,则直接跳出比较流程并找到与该标准帧数范围相匹配的标准负载范围,随后转至步骤S4。如上文中所述,由于所有标准帧数范围相叠加的覆盖范围为0帧至60帧,覆盖了FPS通常可能取到的所有值,因此不存在无法匹配于任何标准帧数范围的FPS取值。换言之,总有一个预设的标准帧数范围匹配于当前的FPS值,并使得流程转向步骤S4。

具体地,本发明的较佳的实施例中,上述标准帧数范围和标准负载范围的设置可以为下述取值范围中的至少两对:

1)标准帧数范围的取值范围为[57,60),相应的标准负载范围的取值范围为[70%x,90%x],其中x表示GPU满负载运行时的工作负载(下文中不再详述)。

上述步骤S3中,若FPS匹配于一取值范围为[57,60)的标准帧数范围,则于步骤S4中,终端设备获取到的标准负载范围即为[70%x,90%x]。

因此,在上述步骤S5中,若终端设备获取到的GPU当前的工作负载未匹配于上述标准负载范围[70%x,90%x],则根据当前的工作负载对GPU的工作频率进行相应调整,随后返回上述步骤S1;

若终端设备获取到的GPU当前的工作负载匹配于上述标准负载范围[70%x,90%x],则保持当前的工作频率,随后返回上述步骤S1。

则本发明的较佳的实施例中,上述步骤S5中,对于GPU当前的工作频率的调整方式可以包括:

终端设备首先判断工作负载是否高于对应的标准负载范围的上限值;

若工作负载高于上限值,则终端设备提升图形处理器当前的工作频率;

若工作负载不高于上限值,则终端设备降低图形处理器当前的工作频率。

具体而言,本发明的较佳的实施例中,所谓“降低GPU当前的工作频率”是指将GPU当前的工作频率调低一档;相应地,所谓“提升GPU当前的工作频率”是指将GPU当前的工作频率调高一档。

例如,对于一款GPU芯片而言,其工作频率可以被分为多档,包括:640MHz,1.536GHz,2.56GHz以及3.84GHz。若GPU当前的工作频率为1.536GHz,则当需要将GPU当前的工作频率调低一档时,终端设备将GPU当前的工作频率调低至640MHz;相应地,若需要将GPU当前的工作频率调高一档,则终端设备将GPU当前的工作频率调高至2.56GHZ。

又例如,对于一款GPU芯片而言,其工作频率可以被分为多档,包括:1.04GHz,2.08GHz,3.12GHz以及4.608GHz。若GPU当前的工作频率为2.08GHz,则当需要将GPU当前的工作频率调低一档时,终端设备将GPU当前的工作频率调低至1.04GHz;相应地,若需要将GPU当前的工作频率调高一档,则终端设备将GPU当前的工作频率调高至3.12GHZ。

则上述实施例中,若工作负载高于上限值,即高于90%x,则终端设备将GPU当前的工作频率提升一档,随后返回上述步骤S1;

相应地,若工作负载不高于上限值(由于其不处于该标准负载范围之内),因此也就是说工作负载低于下限值,即低于70%x,则终端设备将GPU当前的工作频率降低一档,随后返回上述步骤S1。

2)标准帧数范围的取值范围为[20,57),相应的标准负载范围的取值范围为[35%x,55%x]。

上述步骤S3中,若FPS匹配于一取值范围为[20,57)的标准帧数范围,则于步骤S4中,终端设备获取到的标准负载范围即为[35%x,55%x]。

因此,在上述步骤S5中,若终端设备获取到的GPU当前的工作负载未匹配于上述标准负载范围[35%x,55%x],则根据当前的工作负载对GPU的工 作频率进行相应调整,随后返回上述步骤S1;

若终端设备获取到的GPU当前的工作负载匹配于上述标准负载范围[35%x,55%x],则保持当前的工作频率,随后返回上述步骤S1。

本发明的较佳的实施例中,如上文中所述,在GPU当前的工作负载不匹配于上述标准负载范围时:

若工作负载高于上限值,即高于55%x,则终端设备将当前的工作频率调高一档(如上文中所述)。

相应地,若工作负载不高于上限值(综合上文中所述,即低于35%x),则终端设备将当前的工作频率调低一档。

3)标准帧数范围的取值范围为[10,20),相应的标准负载范围的取值范围为[50%x,70%x]。

上述步骤S3中,若FPS匹配于一取值范围为[10,20)的标准帧数范围,则于步骤S4中,终端设备获取到的标准负载范围即为[50%x,70%x]。

因此,在上述步骤S5中,若终端设备获取到的GPU当前的工作负载未匹配于上述标准负载范围[50%x,70%x],则根据当前的工作负载对GPU的工作频率进行相应调整,随后返回上述步骤S1;

若终端设备获取到的GPU当前的工作负载匹配于上述标准负载范围[50%x,70%x],则保持当前的工作频率,随后返回上述步骤S1。

本发明的较佳的实施例中,如上文中所述,在GPU当前的工作负载不匹配于上述标准负载范围时:

若工作负载高于上限值,即高于70%x,则终端设备将当前的工作频率调高一档(如上文中所述)。

相应地,若工作负载不高于上限值(综合上文中所述,即低于55%x),则终端设备将当前的工作频率调低一档。

4)标准帧数范围的取值范围为(0,10),相应的标准负载范围的取值范围为[35%x,55%x]。

上述步骤S3中,若FPS匹配于一取值范围为(0,10)的标准帧数范围,则于步骤S4中,终端设备获取到的标准负载范围即为[35%x,55%x]。

因此,在上述步骤S5中,若终端设备获取到的GPU当前的工作负载未匹配于上述标准负载范围[35%x,55%x],则根据当前的工作负载对GPU的工 作频率进行相应调整,随后返回上述步骤S1;

若终端设备获取到的GPU当前的工作负载匹配于上述标准负载范围[35%x,55%x],则保持当前的工作频率,随后返回上述步骤S1。

本发明的较佳的实施例中,如上文中所述,在GPU当前的工作负载不匹配于上述标准负载范围时:

若工作负载高于上限值,即高于55%x,则终端设备将当前的工作频率调高一档(如上文中所述)。

相应地,若工作负载不高于上限值(综合上文中所述,即低于35%x),则终端设备将当前的工作频率调低一档。

本发明的一个较佳的实施例中,于终端设备中预设上述所有四个标准帧数范围,对应地设置上述所有四个标准负载范围。

则该实施例中,上述预设的顺序可以为:终端设备按照关联于每个标准帧数范围的上限值,由高至低对预设的多个标准帧数范围进行排序。

换言之,该实施例中,按照[57,60),[20,57),[10,20),(0,10)的顺序对上述预设的标准帧数范围进行排列。

因此,该实施例中,终端设备首先获取当前FPS帧数,随后根据该FPS帧数对第一个标准帧数范围[57,60)进行比较:

若匹配成功,则执行对应于[57,60)的如上文中所述的处理过程;若匹配失败,则转向比较下一个标准帧数范围[20,57):

若匹配成功,则执行对应于[20,57)的如上文中所述的处理过程;若匹配失败,则转向比较下一个标准帧数范围[10,20):

若匹配成功,则执行对应于[10,20)的如上文中所述的处理过程;若匹配失败,则此时的FPS帧数被确定落在标准帧数范围(0,10)内,因此针对该标准帧数范围(0,10)执行如上文中所述的处理过程。

本发明的其他实施例中,还可以采用其他预设顺序进行排序,例如按照对应每个预设的标准帧数范围的上限值由低至高进行排列(如上文中设置的标准帧数范围,可以按照(0,10),[10,20),[20,57),[57,60)的顺序对上述预设的标准帧数范围进行排列)。

本发明的其他实施例中,还可以采用随机序列的方式进行判断,例如首先提取预设的其中一个标准帧数范围并对当前的FPS帧数进行判断,若判断 失败,则提取预设的其中另一个未经过判断的标准帧数范围并进行判断,以此类推,直至预设的所有标准帧数范围均被判断完毕。

综上所述,本发明技术方案中,于终端设备中预设多个标准帧数范围,以及对应的多个标准负载范围。终端设备首先获取系统当前的预定周期(变频周期)内的传输帧数,并等比换算成FPS帧数,随后根据该FPS帧数,依照预设的查找顺序查找得到相对应的标准帧数范围。随后根据该标准帧数范围获取相应的标准负载范围。终端设备随后获取GPU当前的工作负载,并将该工作负载与获取到的标准负载范围进行比较:若匹配于该标准负载范围,则保持工作负载不变,随后返回继续检测传输帧数并换算成相应的FPS帧数;若不匹配于该标准负载范围,则根据当前的工作负载相应调整GPU当前的工作频率(调高一档或者调低一档),以调整GPU当前的工作负载。

本发明的较佳的实施例中,还提供一种设置有图形处理器的终端设备,其中采用上文中所述的自动调节工作频率的方法。

以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1