CN109165103B - 帧率控制方法、装置、终端及存储介质 - Google Patents

帧率控制方法、装置、终端及存储介质 Download PDF

Info

Publication number
CN109165103B
CN109165103B CN201811198413.XA CN201811198413A CN109165103B CN 109165103 B CN109165103 B CN 109165103B CN 201811198413 A CN201811198413 A CN 201811198413A CN 109165103 B CN109165103 B CN 109165103B
Authority
CN
China
Prior art keywords
frame rate
working frequency
gpu
cpu
terminal
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811198413.XA
Other languages
English (en)
Other versions
CN109165103A (zh
Inventor
陈岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201811198413.XA priority Critical patent/CN109165103B/zh
Publication of CN109165103A publication Critical patent/CN109165103A/zh
Priority to PCT/CN2019/107439 priority patent/WO2020078172A1/zh
Application granted granted Critical
Publication of CN109165103B publication Critical patent/CN109165103B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本申请公开了一种帧率控制方法、装置、终端及存储介质。该方法包括:获取终端在第n个采样区间内的第一实际帧率与第一目标帧率;根据第一实际帧率与第一目标帧率确定终端在第n+1个采样区间内的第二目标帧率;根据第二目标帧率调节中央处理单元CPU的工作频率和图形处理单元GPU的工作频率;根据调节后的CPU的工作频率和调节后的GPU的工作频率控制终端在第n+1个采样区间的第二实际帧率。在本申请实施例中,通过调节CPU的工作频率和GPU的工作频率来对终端的帧率进行控制,能够提升终端在播放帧画面时的稳定性。

Description

帧率控制方法、装置、终端及存储介质
技术领域
本申请实施例涉及终端技术领域,特别涉及一种帧率控制方法、装置、终端及存储介质。
背景技术
帧率(Frame Rate)是指称为帧的位图图像连续出现在显示器上的频率。在游戏应用程序或者视频应用程序的运行过程中,需要保持帧率稳定。
相关技术中,终端通过如下方式对帧率进行控制:终端通过控制每帧画面的渲染效果来控制帧率。例如,当帧率不稳定时,终端降低每帧画面的渲染效果,以减少渲染每帧画面所需的系统资源,从而保持帧率稳定。
发明内容
本申请实施例提供一种帧率控制方法、装置、终端及存储介质。技术方案如下:
一方面,本申请实施例提供一种帧率控制方法,所述方法包括:
获取终端在第n个采样区间内的第一实际帧率与第一目标帧率,n为正整数;
根据所述第一实际帧率与所述第一目标帧率确定所述终端在第n+1个采样区间内的第二目标帧率;
根据所述第二目标帧率调节中央处理单元CPU的工作频率和图形处理单元GPU的工作频率;
根据调节后的所述CPU的工作频率和调节后的所述GPU的工作频率控制所述终端在所述第n+1个采样区间的第二实际帧率。
另一方面,本申请实施例提供一种帧率控制装置,所述装置包括:
帧率获取模块,用于获取终端在第n个采样区间内的第一实际帧率与第一目标帧率,n为正整数;
帧率确定模块,用于根据所述第一实际帧率与所述第一目标帧率确定所述终端在第n+1个采样区间内的第二目标帧率;
频率调节模块,用于根据所述第二目标帧率调节中央处理单元CPU的工作频率和图形处理单元GPU的工作频率;
帧率控制模块,用于根据调节后的所述CPU的工作频率和调节后的所述GPU的工作频率控制所述终端在所述第n+1个采样区间的第二实际帧率。
再一方面,本申请实施例提供一种终端,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现上述方面所述的帧率控制方法。
又一方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现上述方面所述的帧率控制方法。
本申请实施例提供的技术方案可以带来如下有益效果:
通过根据终端在上一采样区间内的实际帧率与目标帧率确定出终端在下一采样区间内的目标帧率,之后根据该确定出的目标帧率来确定终端在下一采样区间内所需的CPU的工作频率以及GPU的工作频率,并按照上述CPU的工作频率运行CPU,按照GPU的工作频率运行GPU,以使得终端在下一采样区间内的实际帧率能够趋近于上述确定出的目标帧率,由于实际应用中帧率的稳定是需要CPU和GPU的协同保证的,而本申请实施例提供的技术方案通过CPU和GPU的协同合作来控制终端的帧率,能够在不降低画面帧的渲染效果的前提下,提升终端在播放帧画面时的稳定性。
附图说明
图1为本申请一个实施例提供的帧率控制方法的流程图;
图2为本申请一个实施例提供的帧率控制的示意图;
图3为本申请一个实施例提供的帧率控制的示意图;
图4为本申请一个实施例提供的帧率控制方法的流程图;
图5为本申请一个实施例提供的帧率控制装置的框图;
图6为本申请实施例提供的终端的框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请实施例提供的技术方案,通过根据终端在上一采样区间内的实际帧率与目标帧率确定出终端在下一采样区间内的目标帧率,之后根据该确定出的目标帧率来确定终端在下一采样区间内所需的CPU的工作频率以及GPU的工作频率,并按照上述CPU的工作频率运行CPU,按照GPU的工作频率运行GPU,以使得终端在下一采样区间内的实际帧率能够趋近于上述确定出的目标帧率,由于实际应用中帧率的稳定是需要CPU和GPU的协同保证的,而本申请实施例提供的技术方案通过CPU和GPU的协同合作来控制终端的帧率,能够在不降低画面帧的渲染效果的前提下,提升终端在播放帧画面时的稳定性。
本申请实施例提供的技术方案,各步骤的执行主体可以是终端。可选地,终端具有帧画面播放功能。该终端可以是智能手机、平板电脑、个人计算机(Personal Computer,PC)等智能设备。
请参考图1,其示出了本申请一个实施例提供的帧率控制方法的流程图,该方法可以包括如下步骤:
步骤101,获取终端在第n个采样区间内的第一实际帧率与第一目标帧率。
n为正整数。第n个采样区间可以是最近的一个时间段,该时间段的长度可以根据实际需求确定,其可以是1分钟,5分钟等,本申请实施例对此不作限定。
第一实际帧率是指终端在第n个采样区间内播放帧画面的实际速率。可选地,终端统计在第n个采样区间内所播放的帧画面的数量,之后将该帧画面的数量与第n个采样区间的时间长度的比值确定为第一实际帧率。例如,终端在第n个采样区间内播放的帧画面的数量为300帧,第n个采样区间的时间长度为5分钟,则第一实际帧率为60帧每分钟。
第一目标帧率是指终端在第n个采样区间内播放帧画面的期望速率。当n为1时,该第一目标帧率可以由用户自定义设定,也可以由终端默认设定。当n大于1时,第一目标帧率可以采用步骤102中的方式计算得到,该计算过程将在下文实施例进行讲解。
可选地,终端在播放帧画面时每隔预定时间获取终端在第n个采样区间内的第一实际帧率与第一目标帧率。上述预定时间可以是一个采样区间的长度。
步骤102,根据第一实际帧率与第一目标帧率确定终端在第n+1个采样区间内的第二目标帧率。
在本申请实施例中,终端能够根据上一采样区间内的实际帧率与目标帧率来实时确定下一采样区间内的目标帧率,以使得终端在不同采样区间内的实际帧率尽可能地接近,以提高终端在播放帧画面时的稳定性。
可选地,步骤102包括如下几个子步骤:
步骤102a,计算第一实际帧率与第一目标帧率之间的差值。
步骤102b,若差值大于预设阈值,则根据差值确定第二目标帧率。
预设阈值可以根据实际需求设定,本申请实施例对此不作限定。第二目标帧率小于第一目标帧率。可选地,终端将第一目标帧率与预设帧率之间的差值确定为第二目标帧率。在第一种可能的实现方式中,预设帧率为固定值,其可以由终端默认设定,也可以由用户自定义设定,本申请实施例对此不作限定。在另一种可能的实现方式中,预设帧率不为固定值,其余上述差值之间呈正相关关系。也即,第一实际帧率与第一目标帧率之间的差值越大,则该预设帧率越大;第一实际帧率与第一目标帧率之间的差值越小,则该预设帧率越小。
在本申请实施例中,若第一目标帧率与第一实际帧率之间的差值较大,则说明终端在第n个采样区间内的第一目标帧率设置地不合理,终端在第n+1个采样区间的目标帧率需要适当减小。
步骤102c,若差值小于或等于预设阈值,则将第一目标帧率确定为第二目标帧率。
在本申请实施例中,若第一目标帧率与第一实际帧率之间的差值较小,则说明终端在第n个采样区间内的第一目标帧率设置地较为合理,终端在第n+1个采样区间的目标帧率可以继续延用该第一目标帧率,无需任何改变。
步骤103,根据第二目标帧率调节CPU的工作频率和GPU的工作频率。
CPU是一台终端的运算核心(Core)和控制核心(Control Unit),用于解释计算机指令以及处理计算机软件中的数据。CPU的工作频率是指CPU运算时一秒内发生的同步脉冲数,它决定了终端的运行速度。CPU的工作频率越大,则终端的运行速度越快;CPU的工作频率越小,则终端的运行速度越慢。GPU是终端中进行图像运算工作的微处理器。GPU的工作频率是指GPU工作时一秒内发生的同步脉冲数。
在一种可能的实现方式中,该过程可以具体实现为:
步骤103a,计算终端的帧率为第二目标帧率时所需的CPU的工作频率和GPU的工作频率;
可选地,该步骤可以实现为:
1、获取预设数量的画面帧分别对应的功率;
预设数量可以根据实际需求设定,本申请实施例对此不作限定。示例性地,预设数量为20。画面帧对应的功率是指终端在播放该画面帧时的功率。
2、根据预设数量的画面帧分别对应的功率确定CPU的工作频率的地板值、GPU的工作频率的地板值;
CPU的工作频率的地板值是指终端的帧率为第二目标帧率时CPU的最小工作频率。GPU的工作频率的地板值是指终端的帧率为第二目标帧率时GPU的最小工作频率。
当预设数量的画面帧中存在的易变帧的数量小于或等于第一阈值时,将非易变帧对应的CPU的工作频率确定为CPU的工作频率的地板值,将非易变帧对应的GPU的工作频率确定为GPU的工作频率的地板值。
易变帧是指功率与相邻画面帧对应的功率之间的差值大于预设数值的画面帧。第一阈值可以根据实际需求设定,本申请实施例对此不作限定。非易变帧是上述预设数量的画面帧中除易变帧之外的其它帧。当非易变帧的数量为多帧时,终端将非易变帧对应的各个CPU的工作频率的平均值确定为CPU的工作频率的地板值,将非易变帧对应的各个GPU的工作频率的平均值确定GPU的工作频率的地板值。
当预设数量的画面帧中存在的易变帧的数量大于第一阈值时,将非易变帧对应的CPU的工作频率与第一变异值的和确定为CPU的工作频率的地板值,将非易变帧对应的GPU的工作频率与第二变异值的和确定为GPU的工作频率的地板值。
第一变异值是指预设数量的画面帧中指定画面帧对应的CPU的工作频率,第二变异值是指指定画面帧对应的GPU的工作频率。指定画面帧可以根据经验设定,本申请实施例对此不作限定。
3、将CPU的工作频率的地板值与第一预设系数的乘积确定为CPU的工作频率的天花板值、将GPU的工作频率的地板值与第二预设系数的乘积确定为GPU的工作频率的天花板值;
第一预设系数与第二预设系数均大于1。第一预设系数与第二预设系数均可以根据实际需求设定,本申请实施例对此不作限定。第一预设系数与第二预设系数可以相同,也可以不相同。
CPU的工作频率的天花板值是指终端的帧率为第二目标帧率时CPU的最大工作频率。GPU的工作频率的天花板值是指终端的帧率为第二目标帧率时GPU的最大工作频率。
4、在CPU的工作频率的地板值与天花板值之间确定出CPU的工作频率、在GPU的工作频率的地板值与天花板值之间确定出GPU的工作频率。
终端可以将CPU的工作频率的地板值与天花板值之间的任意一个工作频率确定为CPU在第n+1个采样区间的工作频率。在一个示例中,终端将CPU的工作频率的地板值确定为CPU的工作频率。在另一个示例中,终端将CPU的工作频率的天花板值确定为CPU的工作频率。在另一个示例中,终端将CPU的工作频率的地板值与天花板值的平均值确定为CPU的工作频率。
终端可以将GPU的工作频率的地板值与天花板值之间的任意一个工作频率确定为GPU在第n+1个采样区间的工作频率。在一个示例中,终端将GPU的工作频率的地板值确定为GPU的工作频率。在另一个示例中,终端将GPU的工作频率的天花板值确定为GPU的工作频率。在另一个示例中,终端将GPU的工作频率的地板值与天花板值的平均值确定为GPU的工作频率。
步骤103b,将CPU的当前工作频率调节至CPU的工作频率,将GPU的当前工作频率调节至GPU的工作频率。
在另一种可能的实现方式中,该过程可以具体实现为:
步骤103c,比较第一实际帧率与第二目标帧率的大小;
步骤103d,若第一实际帧率大于第二目标帧率,则降低CPU的工作频率和/或GPU的工作频率;
降低CPU的工作频率和/或GPU的工作频率可以降低终端的功耗。在本申请实施例中,如果终端在第n个采样区间内的实际帧率大于终端在第n+1个采样区间内的目标帧率,则说明终端的系统能力(也即CPU的工作频率和GPU的工作频率)足够,此时可以适当降低CPU的工作频率和/或GPU的工作频率,以实现在保证帧率稳定的前提下,节省终端的功耗。
CPU的工作频率的降低量可以由终端实际确定。在一种可能的实现方式中,CPU的工作频率的降低量为固定值。在另一种可能的实现方式中,CPU的工作频率的降低量与第一差值呈正相关关系。也即,第一差值越大,则CPU的工作频率的降低量越大;第一差值越小,则CPU的工作频率的降低量越小。第一差值是指第一实际帧率与第二目标帧率之间的差值。
GPU的工作频率的降低量可以由终端实际确定。在一种可能的实现方式中,GPU的工作频率的降低量为固定值。在另一种可能的实现方式中,GPU的工作频率的降低量与第二差值呈正相关关系。也即,第二差值越大,则GPU的工作频率的降低量越大;第二差值越小,则GPU的工作频率的降低量越小。
步骤103e,若第一实际帧率小于第二目标帧率,则调高CPU的工作频率和/或GPU的工作频率。
CPU的工作频率的提高量可以由终端实际确定。在一种可能的实现方式中,CPU的工作频率的提高量为固定值。在另一种可能的实现方式中,CPU的工作频率的提高量与第一差值呈正相关关系。也即,第一差值越大,则CPU的工作频率的提高量越大;第一差值越小,则CPU的工作频率的提高量越小。
GPU的工作频率的提高量可以由终端实际确定。在一种可能的实现方式中,GPU的工作频率的提高量为固定值。在另一种可能的实现方式中,GPU的工作频率的提高量与第二差值呈正相关关系。也即,第二差值越大,则GPU的工作频率的提高量越大;第二差值越小,则GPU的工作频率的提高量越小。
在该种实现方式中,提供了一种低功耗取向的帧率控制方法,在第一实际帧率大于第二目标帧率,则降低CPU的工作频率和/或GPU的工作频率,在第一实际帧率小于第二目标帧率,则调高CPU的工作频率和/或GPU的工作频率,通过上述方式,可以在保持帧率稳定的前提下,节省终端的功耗。结合参考图2,其示出了本申请一个实施例提供的帧率调节方法的示意图,当输出帧率大于平均目标帧率时,降低CPU的工作频率和GPU的工作频率,当输出帧率小于平均目标帧率时,提高CPU的工作频率和GPU的工作频率。
步骤104,根据调节后的CPU的工作频率和调节后的GPU的工作频率控制终端在第n+1个采样区间的帧率。
在本申请实施例中,CPU按照调节后的工作频率工作,GPU按照调节后的工作频率工作,由于调节后的CPU的工作频率和调节后的GPU的工作频率都是根据确定出的目标帧率进行设定的,因此在后续的帧率控制中,终端在n+1个采样区间内的实际帧率趋近于上述确定出的目标帧率,从而提升终端在播放帧画面时的稳定性。
在一个具体的例子中,结合参考图3,其示出了本申请一个实施例提供的帧率调节的示意图。终端包括帧率稳定器、帧预算调节器,帧率稳定器用于根据上一采样区间内的帧率计算当前采样区间的目标帧率,之后根据计算得到的目标帧率确定终端在当前区间的CPU的工作频率和GPU的工作频率,后续帧预算调节器还可以将确定出的当前区间的CPU的工作频率和GPU的工作频率反馈至帧预算调节器,以供帧率稳定器确定下一采样区间的目标帧率。
综上所述,本申请实施例提供的技术方案,通过根据终端在上一采样区间内的实际帧率与目标帧率确定出终端在下一采样区间内的目标帧率,之后根据该确定出的目标帧率来确定终端在下一采样区间内所需的CPU的工作频率以及GPU的工作频率,并按照上述CPU的工作频率运行CPU,按照GPU的工作频率运行GPU,以使得终端在下一采样区间内的实际帧率能够趋近于上述确定出的目标帧率,由于实际应用中帧率的稳定是需要CPU和GPU的协同保证的,而本申请实施例提供的技术方案通过CPU和GPU的协同合作来控制终端的帧率,能够在不降低画面帧的渲染效果的前提下,提升终端在播放帧画面时的稳定性。
请参考图4,其示出了本申请一个实施例提供的帧率控制方法的流程图。该方法可以包括如下步骤:
步骤401,检测终端是否存在播放需求。
播放需求是指播放画面帧的需求。在一种可能的实现方式中,终端检测是否存在指定类型的应用程序启动运行,若存在指定类型的应用程序启动运行,则终端存在播放需求;若不存在指定类型的应用程序启动运行,则终端不存在播放需求。上述指定类型的应用程序是指在运行过程中需要播放画面帧的应用程序,其可以是游戏应用程序。
在另一种可能的实现方式中,终端检测是否接收到播放视频文件或动画文件的指令,若接收到播放视频文件或动画文件的指令,则终端存在播放需求,若未接收到播放视频文件或动画文件的指令,则终端不存在播放需求。
步骤402,若终端存在播放需求,则获取终端在第n个采样区间内的第一实际帧率与第一目标帧率。
若终端不存在播放需求,则结束流程。
步骤403,根据第一实际帧率与第一目标帧率确定终端在第n+1个采样区间内的第二目标帧率。
步骤404,比较第二目标帧率与帧率最大值的大小。
帧率最大值可以由用户自定义设定,也可以由终端或者终端中的应用程序默认设定,本申请实施例对此不作限定。
若第二目标帧率大于帧率最大值,则执行步骤405至步骤407;若第二目标帧率小于或等于帧率最大值,则执行步骤406和步骤407。
步骤405,将帧率最大值确定为第二目标帧率。
步骤406,根据第二目标帧率调节中央处理单元CPU的工作频率和图形处理单元GPU的工作频率。
步骤407,根据调节后的CPU的工作频率和调节后的GPU的工作频率控制终端在第n+1个采样区间的帧率。
综上所述,本申请实施例提供的技术方案,通过在终端存在播放需求时执行后续的帧率调节方案,可以避免终端在非必要的情况下进行帧率调节,节省终端的功耗。另外,还通过帧率最大值对终端确定的在下一采样区间的目标帧率进行限制,避免出现确定目标帧率不合理的情况,提升终端在播放帧画面时的稳定性。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图5,其示出了本申请一个实施例提供的帧率控制装置的框图。该装置具有实现上述方法示例的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现。该装置包括:
帧率获取模块501,用于获取终端在第n个采样区间内的第一实际帧率与第一目标帧率,n为正整数。
帧率确定模块502,用于根据所述第一实际帧率与所述第一目标帧率确定所述终端在第n+1个采样区间内的第二目标帧率。
频率调节模块503,用于根据所述第二目标帧率调节中央处理单元CPU的工作频率和图形处理单元GPU的工作频率。
帧率控制模块504,用于根据调节后的所述CPU的工作频率和调节后的所述GPU的工作频率控制所述终端在所述第n+1个采样区间的第二实际帧率。
综上所述,本申请实施例提供的技术方案,通过根据终端在上一采样区间内的实际帧率与目标帧率确定出终端在下一采样区间内的目标帧率,之后根据该确定出的目标帧率来确定终端在下一采样区间内所需的CPU的工作频率以及GPU的工作频率,并按照上述CPU的工作频率运行CPU,按照GPU的工作频率运行GPU,以使得终端在下一采样区间内的实际帧率能够趋近于上述确定出的目标帧率,由于实际应用中帧率的稳定是需要CPU和GPU的协同保证的,而本申请实施例提供的技术方案通过CPU和GPU的协同合作来控制终端的帧率,能够在不降低画面帧的渲染效果的前提下,提升终端在播放帧画面时的稳定性。
在基于图5所示实施例提供的一个可选实施例中,所述频率调节模块503,用于:
计算所述终端的帧率为所述第二目标帧率时所需的所述CPU的工作频率和所述GPU的工作频率;
将所述CPU的当前工作频率调节至所述CPU的工作频率,将所述GPU的当前工作频率调节至所述GPU的工作频率。
可选地,所述频率调节模块503,用于:
获取预设数量的画面帧分别对应的功率,所述画面帧对应的功率是指所述终端播放所述画面帧时的功率;
根据所述预设数量的画面帧分别对应的功率确定所述CPU的工作频率的地板值、所述GPU的工作频率的地板值;
将所述CPU的工作频率的地板值与第一预设系数的乘积确定为所述CPU的工作频率的天花板值、将所述GPU的工作频率的地板值与第二预设系数的乘积确定为所述GPU的工作频率的天花板值;
在所述GPU的工作频率的地板值与天花板值之间确定出所述GPU的工作频率、在所述GPU的工作频率的地板值与天花板值之间确定出所述GPU的工作频率。
可选地,所述频率调节模块503,用于:
当所述预设数量的画面帧中存在的易变帧的数量小于或等于第一阈值时,将非易变帧对应的CPU的工作频率确定为所述CPU的工作频率的地板值,将非易变帧对应的GPU的工作频率确定为所述GPU的工作频率的地板值,所述易变帧是指功率与相邻画面帧对应的功率之间的差值大于预设数值的画面帧;
当所述预设数量的画面帧中存在的易变帧的数量大于第一阈值时,将所述非易变帧对应的CPU的工作频率与第一变异值的和确定为所述CPU的工作频率的地板值,将所述非易变帧对应的GPU的工作频率与第二变异值的和确定为所述GPU的工作频率的地板值,所述第一变异值是指所述预设数量的画面帧中指定画面帧对应的CPU的工作频率,所述第二变异值是指所述指定画面帧对应的GPU的工作频率。
在基于图5所示实施例提供的一个可选实施例中,所述频率调节模块503,用于:
比较所述第一实际帧率与所述第二目标帧率的大小;
若所述第一实际帧率大于所述第二目标帧率,则降低所述CPU的工作频率和/或所述GPU的工作频率;
若所述第一实际帧率小于所述第二目标帧率,则调高所述CPU的工作频率和/或所述GPU的工作频率。
在基于图5所示实施例提供的一个可选实施例中,所述帧率确定模块502,用于:
计算所述第一实际帧率与第一目标帧率之间的差值;
若所述差值大于预设阈值,则根据所述差值确定所述第二目标帧率,所述第二目标帧率小于所述第一目标帧率;若所述差值小于或等于所述预设阈值,则将所述第一目标帧率确定为所述第二目标帧率。
在基于图5所示实施例提供的一个可选实施例中,所述装置还包括:帧率比较模块和帧率更新模块(图中未示出)。
帧率比较模块,用于比较所述第二目标帧率与帧率最大值的大小。
帧率更新模块,用于若所述第二目标帧率大于所述帧率最大值,则将所述帧率最大值确定为所述第二目标帧率。
在基于图5所示实施例提供的一个可选实施例中,所述装置还包括:需求检测模块(图中未示出)。
需求检测模块,用于检测所述终端是否存在播放需求。
所述帧率获取模块501,用于若所述终端存在所述播放需求,则执行所述获取终端在第n个采样区间内的第一实际帧率与第一目标帧率的步骤。
需要说明的是,上述实施例提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
参考图6,其示出了本申请一个示例性实施例提供的终端的结构方框图。本申请中的终端可以包括一个或多个如下部件:处理器610、存储器620和输入输出设备630。
处理器610可以包括一个或者多个处理核心。处理器610利用各种接口和线路连接整个终端内的各个部分,通过运行或执行存储在存储器620内的指令、程序、代码集或指令集,以及调用存储在存储器620内的数据,执行终端的各种功能和处理数据。可选地,处理器610可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable LogicArray,PLA)中的至少一种硬件形式来实现。处理器610可集成中央处理器(CentralProcessing Unit,CPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统和应用程序等;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器610中,单独通过一块芯片进行实现。
可选地,处理器610执行存储器620中的程序指令时实现下上述各个方法实施例提供的帧率控制方法。
存储器620可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选地,该存储器620包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器620可用于存储指令、程序、代码、代码集或指令集。存储器620可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令、用于实现上述各个方法实施例的指令等;存储数据区可存储根据终端的使用所创建的数据等。
上述终端的结构仅是示意性的,在实际实现时,终端可以包括更多或更少的组件,比如:显示屏等,本实施例对此不作限定。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
本申请一示例性实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器加载并执行时实现上述各个方法实施例提供的帧率控制方法。
本申请一示例性实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各个实施例所述的帧率控制方法。
应当理解的是,在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
以上所述仅为本申请的示例性实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (8)

1.一种帧率控制方法,其特征在于,所述方法包括:
获取终端在第n个采样区间内的第一实际帧率与第一目标帧率,n为正整数;
根据所述第一实际帧率与所述第一目标帧率确定所述终端在第n+1个采样区间内的第二目标帧率;
获取预设数量的画面帧分别对应的功率,所述画面帧对应的功率是指所述终端播放所述画面帧时的功率;
当所述预设数量的画面帧中存在的易变帧的数量小于或等于第一阈值时,将非易变帧对应的CPU的工作频率确定为所述CPU的工作频率的地板值,将非易变帧对应的GPU的工作频率确定为所述GPU的工作频率的地板值,所述易变帧是指功率与相邻画面帧对应的功率之间的差值大于预设数值的画面帧;
当所述预设数量的画面帧中存在的易变帧的数量大于第一阈值时,将所述非易变帧对应的CPU的工作频率与第一变异值的和确定为所述CPU的工作频率的地板值,将所述非易变帧对应的GPU的工作频率与第二变异值的和确定为所述GPU的工作频率的地板值,所述第一变异值是指所述预设数量的画面帧中指定画面帧对应的CPU的工作频率,所述第二变异值是指所述指定画面帧对应的GPU的工作频率;
将所述CPU的工作频率的地板值与第一预设系数的乘积确定为所述CPU的工作频率的天花板值、将所述GPU的工作频率的地板值与第二预设系数的乘积确定为所述GPU的工作频率的天花板值,所述第一预设系数大于1,所述第二预设系数大于1;
在所述CPU的工作频率的地板值与天花板值之间确定出所述CPU的工作频率、在所述GPU的工作频率的地板值与天花板值之间确定出所述GPU的工作频率;
将所述CPU的当前工作频率调节至所述CPU的工作频率,将所述GPU的当前工作频率调节至所述GPU的工作频率;
根据调节后的所述CPU的工作频率和调节后的所述GPU的工作频率控制所述终端在所述第n+1个采样区间的第二实际帧率。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
比较所述第一实际帧率与所述第二目标帧率的大小;
若所述第一实际帧率大于所述第二目标帧率,则降低所述CPU的工作频率和/或所述GPU的工作频率;
若所述第一实际帧率小于所述第二目标帧率,则调高所述CPU的工作频率和/或所述GPU的工作频率。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一实际帧率与所述第一目标帧率确定所述终端在第n+1个采样区间内的第二目标帧率,包括:
计算所述第一实际帧率与所述第一目标帧率之间的差值;
若所述差值大于预设阈值,则根据所述差值确定所述第二目标帧率,所述第二目标帧率小于所述第一目标帧率;若所述差值小于或等于所述预设阈值,则将所述第一目标帧率确定为所述第二目标帧率。
4.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
比较所述第二目标帧率与帧率最大值的大小;
若所述第二目标帧率大于所述帧率最大值,则将所述帧率最大值确定为所述第二目标帧率。
5.根据权利要求1或2所述的方法,其特征在于,所述获取终端在第n个采样区间内的第一实际帧率与第一目标帧率之前,还包括:
检测所述终端是否存在播放需求;
若所述终端存在所述播放需求,则执行所述获取终端在第n个采样区间内的第一实际帧率与第一目标帧率的步骤。
6.一种帧率控制装置,其特征在于,所述装置包括:
帧率获取模块,用于获取终端在第n个采样区间内的第一实际帧率与第一目标帧率,n为正整数;
帧率确定模块,用于根据所述第一实际帧率与所述第一目标帧率确定所述终端在第n+1个采样区间内的第二目标帧率;
频率调节模块,用于:
获取预设数量的画面帧分别对应的功率,所述画面帧对应的功率是指所述终端播放所述画面帧时的功率;当所述预设数量的画面帧中存在的易变帧的数量小于或等于第一阈值时,将非易变帧对应的CPU的工作频率确定为所述CPU的工作频率的地板值,将非易变帧对应的GPU的工作频率确定为所述GPU的工作频率的地板值,所述易变帧是指功率与相邻画面帧对应的功率之间的差值大于预设数值的画面帧;当所述预设数量的画面帧中存在的易变帧的数量大于第一阈值时,将所述非易变帧对应的CPU的工作频率与第一变异值的和确定为所述CPU的工作频率的地板值,将所述非易变帧对应的GPU的工作频率与第二变异值的和确定为所述GPU的工作频率的地板值,所述第一变异值是指所述预设数量的画面帧中指定画面帧对应的CPU的工作频率,所述第二变异值是指所述指定画面帧对应的GPU的工作频率;将所述CPU的工作频率的地板值与第一预设系数的乘积确定为所述CPU的工作频率的天花板值、将所述GPU的工作频率的地板值与第二预设系数的乘积确定为所述GPU的工作频率的天花板值,所述第一预设系数大于1,所述第二预设系数大于1;在所述CPU的工作频率的地板值与天花板值之间确定出所述CPU的工作频率、在所述GPU的工作频率的地板值与天花板值之间确定出所述GPU的工作频率;将所述CPU的当前工作频率调节至所述CPU的工作频率,将所述GPU的当前工作频率调节至所述GPU的工作频率;
帧率控制模块,用于根据调节后的所述CPU的工作频率和调节后的所述GPU的工作频率控制所述终端在所述第n+1个采样区间的第二实际帧率。
7.一种终端,其特征在于,所述终端包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序由所述处理器加载并执行以实现如权利要求1至5任一项所述的帧率控制方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序由处理器加载并执行以实现如权利要求1至5任一项所述的帧率控制方法。
CN201811198413.XA 2018-10-15 2018-10-15 帧率控制方法、装置、终端及存储介质 Active CN109165103B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811198413.XA CN109165103B (zh) 2018-10-15 2018-10-15 帧率控制方法、装置、终端及存储介质
PCT/CN2019/107439 WO2020078172A1 (zh) 2018-10-15 2019-09-24 帧率控制方法、装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811198413.XA CN109165103B (zh) 2018-10-15 2018-10-15 帧率控制方法、装置、终端及存储介质

Publications (2)

Publication Number Publication Date
CN109165103A CN109165103A (zh) 2019-01-08
CN109165103B true CN109165103B (zh) 2021-05-25

Family

ID=64878100

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811198413.XA Active CN109165103B (zh) 2018-10-15 2018-10-15 帧率控制方法、装置、终端及存储介质

Country Status (2)

Country Link
CN (1) CN109165103B (zh)
WO (1) WO2020078172A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109165103B (zh) * 2018-10-15 2021-05-25 Oppo广东移动通信有限公司 帧率控制方法、装置、终端及存储介质
CN112516590A (zh) * 2019-09-19 2021-03-19 华为技术有限公司 一种帧率识别方法及电子设备
CN115237583A (zh) * 2021-04-22 2022-10-25 华为技术有限公司 计算资源调度方法及装置
CN114157824B (zh) * 2021-11-29 2023-08-18 联想(北京)有限公司 控制方法及电子设备
CN115665482B (zh) * 2022-11-09 2023-06-30 腾讯科技(深圳)有限公司 视频渲染方法、装置、计算机设备和存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9589540B2 (en) * 2011-12-05 2017-03-07 Microsoft Technology Licensing, Llc Adaptive control of display refresh rate based on video frame rate and power efficiency
US9378063B2 (en) * 2013-10-15 2016-06-28 Qualcomm Incorporated Mobile coprocessor system and methods
CN105117191A (zh) * 2015-09-08 2015-12-02 广东欧珀移动通信有限公司 一种移动终端的显示控制方法及装置
CN106027942A (zh) * 2016-05-20 2016-10-12 广东欧珀移动通信有限公司 一种帧率控制方法及装置
US10593299B2 (en) * 2016-05-27 2020-03-17 Picturall Oy Computer-implemented method for reducing video latency of a computer video processing system and computer program product thereto
CN107610039A (zh) * 2016-07-12 2018-01-19 联发科技股份有限公司 图像处理方法及图像处理装置
CN106681833B (zh) * 2016-12-27 2021-03-09 宇龙计算机通信科技(深圳)有限公司 一种调节cpu频率的方法及装置
CN107465929B (zh) * 2017-07-21 2019-02-01 山东大学 基于hevc的dvfs控制方法、系统、处理器及存储设备
CN109165103B (zh) * 2018-10-15 2021-05-25 Oppo广东移动通信有限公司 帧率控制方法、装置、终端及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android平台的游戏低功耗策略研究;高策;《中国优秀硕士学位论文全文数据库 信息科技辑》;20150915(第09期);第I138-1319页 *
游戏人工智能关键技术的研究;李博;《中国优秀硕士学位论文全文数据库 信息科技辑》;20120715(第07期);第I140-78页 *

Also Published As

Publication number Publication date
CN109165103A (zh) 2019-01-08
WO2020078172A1 (zh) 2020-04-23

Similar Documents

Publication Publication Date Title
CN109165103B (zh) 帧率控制方法、装置、终端及存储介质
US10319065B2 (en) Intra-frame real-time frequency control
US8754904B2 (en) Virtualization method of vertical-synchronization in graphics systems
CN109992232B (zh) 图像更新方法、装置、终端及存储介质
US8370846B2 (en) Task execution device and method
CN109308173B (zh) 显示方法及装置、显示终端及计算机存储介质
CN107145355B (zh) 页面布局的调整方法及装置、存储介质、处理器和终端
CN113055742B (zh) 视频显示方法、装置、终端及存储介质
CN109992347B (zh) 界面显示方法、装置、终端及存储介质
CN112445315A (zh) 屏幕刷新帧率的控制方法、装置及存储介质
CN108646906A (zh) 帧率调整方法、装置、存储介质及智能终端
CN109710330B (zh) 应用程序的运行参数确定方法、装置、终端及存储介质
CN108648259B (zh) 图像绘制方法、装置、存储介质及智能终端
CN110795056B (zh) 调节显示参数的方法、装置、终端及存储介质
CN111432262B (zh) 页面视频渲染方法及装置
CN113781949B (zh) 图像显示方法、显示驱动芯片、显示屏模组及终端
WO2021008427A1 (zh) 图像合成方法、装置、电子设备及存储介质
US11942062B2 (en) Frame rate adjusting method and apparatus for display screen, terminal, and storage medium
CN112130790A (zh) 一种画面刷新方法、装置及计算机可读存储介质
CN108966005B (zh) 一种视频分辨率的调节方法、装置、存储介质及终端
US11810524B2 (en) Virtual reality display device and control method thereof
CN113805832A (zh) 图像数据传输方法、装置、终端及介质
CN113709560A (zh) 视频剪辑方法、装置、设备及存储介质
CN106873935B (zh) 用于生成电子终端的显示界面的显示驱动设备和方法
CN108712556A (zh) 帧率调整方法、装置、终端设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant