一种移动终端帧率的控制方法、装置及移动终端与流程

文档序号:12824034阅读:194来源:国知局
一种移动终端帧率的控制方法、装置及移动终端与流程

本发明实施例涉及移动终端技术领域,尤其涉及一种移动终端帧率的控制方法、装置及移动终端。



背景技术:

随着移动终端技术的发展,各式各样的移动终端已成为人们生活工作中不可或缺的工具。在安装有操作系统的移动终端中,移动终端通过不断刷新显示画面来呈现不同时刻下的各种显示画面。

在手机等移动终端中的显示刷新流程中主要包括画面绘制操作、画面合成操作和显示操作。各应用如桌面或视频等,执行绘图(render)操作,以分别绘制各自的图像;待所有应用完成render操作后,系统执行合成(compose)操作,以将各应用所绘制的图像合成为一个显示帧;将该显示帧输出到屏幕上进行最终显示。相关技术中的移动终端对应用绘制帧率的控制方法存在一定缺陷,需要改进。



技术实现要素:

本发明实施例提供一种移动终端帧率的控制方法、装置及移动终端,可以降低移动终端的功耗。

在第一方面,本发明实施例提供了一种移动终端帧率的控制方法,包括:

确定移动终端的显示屏的刷新率大于第一设定值;

从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序;

按照设定降帧率策略降低所述目标应用程序的绘制帧率。

在第二方面,本发明实施例提供了一种移动终端帧率的控制装置,包括:

刷新率确定模块,用于确定移动终端的显示屏的刷新率大于第一设定值;

目标应用程序确定模块,用于从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序;

绘制帧率降低模块,用于按照设定降帧率策略降低所述目标应用程序的绘制帧率。

在第三方面,本发明实施例提供了一种移动终端,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

确定移动终端的显示屏的刷新率大于第一设定值;

从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序;

按照设定降帧率策略降低所述目标应用程序的绘制帧率。

本发明实施例通过在确定移动终端的显示屏的刷新率大于第一设定值后,从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序,按照设定降帧率策略降低所述目标应用程序的绘制帧率,可以降低移动终端的功耗。

附图说明

图1是本发明一个实施例提供的一种移动终端帧率的控制方法的流程图;

图2是本发明一个实施例提供的一种显示过程的示意图;

图3是本发明一个实施例提供的vsync显示刷新机制的示意图;

图4是本发明一个实施例提供的一种移动终端帧率的控制方法的流程图;

图5是本发明一个实施例提供的一种移动终端帧率的控制装置的结构示意图;

图6是本发明一个实施例提供的一种移动终端的结构示意图。

具体实施方式

为了使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。

图1给出了本发明一个实施例提供的一种移动终端帧率的控制方法的流程图,本实施例的方法可以由移动终端帧率的控制装置来执行,该装置可通过硬件和/或软件的方式实现,所述装置可作为移动终端一部分设置在所述移动终端的内部。

如图1所示,本实施例提供的移动终端帧率的控制方法包括以下步骤:

步骤101、确定移动终端的显示屏的刷新率大于第一设定值。

为了便于理解,下面以android系统为例,对android系统中显示画面从生成到显示的过程进行简单的说明。图2为本发明一个实施例提供的一种显示过程的示意图。

首先,在应用(application)层,每个应用程序(以下简称应用或app)按照自己的应用设计情况(一般由对应的安装包apk决定)各自单独执行图像绘制(render)操作,并在绘制操作处理完成后,各应用将所绘制的所有图像发送给执行图像合成操作的合成模块(surfaceflinger)。

然后,在应用框架(framework)层,系统有三个帧缓冲器(framebuffer,fb),三个fb可以循环使用。surfaceflinger从三个fb中找出一个空闲的fb,并在该空闲的fb上,根据应用配置信息,例如哪个图像应该置底、哪个图像应该置顶、哪个图像采用透底效果等,通过合成(compose)操作,将各个应用分别绘制的多个图像叠加在一起,得到最终显示的显示帧(待显示画面)。

最后,在内核(kernel)层,可以将待显示画面通过移动终端显示处理(mobiledisplayprocess,mdp)模块传输给显示硬件(包括显示控制器和显示屏,使待显示画面最终显示在显示屏上。这里对显示屏的类型不做限定,例如可以是液晶显示器(liquidcrystaldisplay,lcd)。

另外,android系统在显示刷新的过程中,引入了同步(vsync)刷新机制。图3给出了本发明一个实施例提供的vsync显示刷新机制的示意图。具体地,vsync刷新机制其实就是在整个显示流程中,插入“心跳”即系统同步(vsync)信号,由显示控制器发送给cpu,用于产生vsync中断,以控制每次render操作和compose操作都需要按照心跳来完成,从而将整个显示过程中的关键步骤都纳入到vsync的统一管理机制。vsync信号频率目前常见为60hz。

如图3所示,假设vsync信号周期为t,不考虑信号的传输延迟,第一个vsync信号vsync1到达cpu后,cpu控制合成模块向各应用转发该第一个vsync信号vsync1,各应用响应于用户在显示屏上的触摸滑动等操作,开始执行render操作;并在各应用完成render操作后,得到各应用所绘制的多个图像。第二个vsync信号vsync2到达cpu后,cpu控制显示控制器向合成模块转发该第二个vsync信号vsync2,合成模块开始执行图像合成操作,将各应用所绘制的多个图像进行合成,生成待显示画面。第三个vsync信号vsync3到达cpu后,系统开始执行显示刷新,并将该待显示画面最终显示在显示屏上。

在移动终端图像绘制、合成和刷新显示的流程中,存在3种帧率:绘制帧率、合成帧率和刷新率。

其中,绘制帧率为应用程序在图像绘制完成后,触发合成模块合成的帧率,可以理解为应用程序单位时间(例如,1秒钟)绘制图像的次数。

合成帧率为把各个应用程序的绘制图像合成为一个待显示画面的帧率。

刷新率为移动终端显示屏显示画面刷新的帧率。

本发明的帧率控制方法主要涉及上述待显示画面显示流程中的图像绘制操作。其中,绘制操作的执行方式,可以为软件方式、硬件方式或其他方式。软件方式一般是在移动终端设备的cpu中使用算法实现绘制操作。硬件方式一般是在移动终端设备的gpu(graphicprocessingunit,图形处理器)或移动终端显示处理(mobiledisplayprocess,mdp)模块中使用专用芯片来实现绘制操作。

不同性能的移动终端所支持的最大刷新率也不同,例如60hz、75hz和120hz等。一般,移动终端都是以固定的刷新率在刷新,当移动终端的刷新率较大时,有一些应用程序的绘制帧率会比较大,刷新频率也比较高,但其实际所需要绘制和刷新的频率并不是很大,那么这些应用程序的绘制和刷新操作将会给移动终端带来不必要的功耗。

该步骤的作用于是确定显示屏的刷新率为较大的刷新率。例如,所述第一设定值可取值70hz或者100hz等。

步骤102、从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序。

其中,所述满足降帧率条件的应用程序可以为应用属性为设定属性的应用程序,例如,将应用类型为阅读器或者通讯录等画面更新较慢的应用程序确定为满足降帧率条件的应用程序,或者将优先级低的应用程序确定为满足降帧率条件的应用程序。

该步骤还可以包括:获取当前运行的各个应用程序的实时绘制帧率;根据所述各个应用程序的实时绘制帧率确定满足设定降帧率条件的目标应用程序。将实时绘制帧率与实际所需要的绘制帧率相差较大应用程序确定为目标应用程序。

其中,所述获取当前运行的各个应用程序的实时绘制帧率可以包括:获取所述各个应用程序的实时绘制帧率,以及设定白名单中所述各个应用程序对应的设定绘制帧率。相应的,所述根据所述各个应用程序的实时绘制帧率确定满足设定降帧率条件的目标应用程序可以包括:将所述各个应用程序分别作为当前应用程序;若当前应用程序的实时绘制帧率与对应的设定绘制帧率的差值大于第二设定值,则将当前应用程序确定为目标应用程序,所述第二设定值大于0。其中,所述白名单中包括各个应用程序对应的设定绘制帧率,所述设定绘制帧率可以为根据经验值确定的应用程序实际所需的绘制帧率,即应用程序以所述设定绘制帧率进行图像的绘制就能够满足该应用程序画面更新的需求。当然,还可以结合应用程序的运行场景为应用程序设置不同的设定绘制帧率。所述第二设定值可以根据具体需求进行设定,例如,将所述第二设定值设置为10。

步骤103、按照设定降帧率策略降低所述目标应用程序的绘制帧率。

在确定了目标应用程序后,按照设定降帧率策略降低所述目标应用程序的帧率。其中,所述设定降帧率策略为预先设定的用于降低应用程序的绘制帧率的策略,可以包括将目标应用程序的当前实时绘制帧率降低10%,或者将目标应用程序的绘制帧率降低为设定值等。

该步骤可以包括:将所述目标应用程序的绘制帧率设置为对应的设定绘制帧率。具体可以包括:确定目标应用程序当前所处的运行场景,根据所述运行场景确定所述目标应用程序在所述运行场景下对应的设定绘制帧率。

该步骤可以包括:将用于合成图像的合成模块向所述目标应用程序提供垂直同步vsync信号的频率设置为与所述设定绘制帧率相同。示例性的,当前一个目标应用程序的实时绘制帧率为60hz,其对应的设定绘制帧率为40hz,那么可将合成模块向该目标应用程序提供垂直同步vsync信号的频率设置为40hz,以控制该目标应用程序的绘制帧率更改为40hz。

本实施例提供的移动终端帧率的控制方法,通过在确定移动终端的显示屏的刷新率大于第一设定值后,从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序,按照设定降帧率策略降低所述目标应用程序的绘制帧率,可以降低移动终端的功耗。

图4给出了本发明一个实施例提供的移动终端帧率的控制方法的流程图。如图4所示,本实施例提供的方法包括以下步骤:

步骤201、确定移动终端的显示屏的刷新率大于第一设定值。

步骤202、获取当前运行的各个应用程序的实时绘制帧率,以及设定白名单中所述各个应用程序对应的设定绘制帧率。

步骤203、根据所述各个应用程序的实时绘制帧率确定满足设定降帧率条件的目标应用程序。

具体的,可以将实时绘制帧率与对应的设定绘制帧率的差值大于第二设定值的应用程序确定为目标应用程序,所述第二设定值大于0。示例性的,若第二设定值为10,当前应用程序的实时绘制帧率为80hz,而获取到该当前应用程序对应的设定绘制帧率为50hz,那么确定该当前应用程序满足设定降帧率条件。

步骤204、将所述目标应用程序的绘制帧率设置为对应的设定绘制帧率。

如上述示例,可将所述当前应用程序的绘制帧率设置为50hz。因为,当前应用程序实际所需的绘制帧率为50hz,如果以实时的绘制帧率80hz来进行绘制,只是多执行了一些不必要的绘制操作,并不会对当前应用的图像绘制带来明显的效果且增加了移动终端的功耗,本实施例通过将目标应用程序的绘制帧率设置为对应的绘制帧率,可以降低移动终端用于执行绘制操作的cpu和/或gpu的功耗。

本实施例提供的方法,通过在确定移动终端的显示屏的刷新率大于第一设定值后,获取当前运行的各个应用程序的实时绘制帧率,以及设定白名单中所述各个应用程序对应的设定绘制帧率,根据所述各个应用程序的实时绘制帧率确定满足设定降帧率条件的目标应用程序,将所述目标应用程序的绘制帧率设置为对应的设定绘制帧率,可以降低移动终端的功耗。

图5为本发明一个实施例提供的移动终端帧率的控制装置的结构示意图,该装置可由软件和/或硬件实现,集成在移动终端中。如图5所示,该装置包括刷新率确定模块31、目标应用程序确定模块32和绘制帧率降低模块33。

所述刷新率确定模块31,用于确定移动终端的显示屏的刷新率大于第一设定值;

所述目标应用程序确定模块32,用于从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序;

所述绘制帧率降低模块33,用于按照设定降帧率策略降低所述目标应用程序的绘制帧率。

在上述实施例的基础上,所述目标应用程序确定模块包括:

实时绘制帧率获取单元,用于获取当前运行的各个应用程序的实时绘制帧率;

目标应用程序确定单元,用于根据所述各个应用程序的实时绘制帧率确定满足设定降帧率条件的目标应用程序。

在上述实施例的基础上,所述实时绘制帧率获取单元用于:

获取所述各个应用程序的实时绘制帧率,以及设定白名单中所述各个应用程序对应的设定绘制帧率;

所述目标应用程序确定单元用于:

将所述各个应用程序分别作为当前应用程序;

若当前应用程序的实时绘制帧率与对应的设定绘制帧率的差值大于第二设定值,则将当前应用程序确定为目标应用程序,所述第二设定值大于0。

在上述实施例的基础上,所述绘制帧率降低模块用于:

将所述目标应用程序的绘制帧率设置为对应的设定绘制帧率。

在上述实施例的基础上,所述绘制帧率降低模块用于:

将用于合成图像的合成模块向所述目标应用程序提供垂直同步vsync信号的频率设置为与所述设定绘制帧率相同。

本实施例提供的装置,通过在确定移动终端的显示屏的刷新率大于第一设定值后,从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序,按照设定降帧率策略降低所述目标应用程序的绘制帧率,可以降低移动终端的功耗。

图6为本发明一个实施例提供的一种移动终端的结构示意图,该移动终端可以包括本发明任意实施例提供的移动终端帧率的控制装置,如图6所示,该移动终端可以包括:存储器401、中央处理器(centralprocessingunit,cpu)402(又称处理器,以下简称cpu)、所述存储器401,用于存储可执行程序代码;所述处理器402通过读取所述存储器401中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行:确定移动终端的显示屏的刷新率大于第一设定值;从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序;按照设定降帧率策略降低所述目标应用程序的绘制帧率。

所述移动终端还包括:外设接口403、rf(radiofrequency,射频)电路405、音频电路406、扬声器411、电源管理芯片408、输入/输出(i/o)子系统409、触摸屏412、其他输入/控制设备410以及外部端口404,这些部件通过一个或多个通信总线或信号线407来通信。

应该理解的是,图示移动终端400仅仅是移动终端的一个范例,并且移动终端400可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。

下面就本实施例提供的用于控制帧率的移动终端进行详细的描述,该移动终端以手机为例。

存储器401,所述存储器401可以被cpu402、外设接口403等访问,所述存储器401可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

外设接口403,所述外设接口403可以将设备的输入和输出外设连接到cpu402和存储器401。

i/o子系统409,所述i/o子系统409可以将设备上的输入输出外设,例如触摸屏412和其他输入/控制设备410,连接到外设接口403。i/o子系统409可以包括显示控制器4091和用于控制其他输入/控制设备410的一个或多个输入控制器4092。其中,一个或多个输入控制器4092从其他输入/控制设备410接收电信号或者向其他输入/控制设备410发送电信号,其他输入/控制设备410可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器4092可以与以下任一个连接:键盘、红外端口、usb接口以及诸如鼠标的指示设备。

触摸屏412,所述触摸屏412是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。

i/o子系统409中的显示控制器4091从触摸屏412接收电信号或者向触摸屏412发送电信号。触摸屏412检测触摸屏上的接触,显示控制器4091将检测到的接触转换为与显示在触摸屏412上的用户界面对象的交互,即实现人机交互,显示在触摸屏412上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。

rf电路405,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,rf电路405接收并发送rf信号,rf信号也称为电磁信号,rf电路405将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。rf电路405可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、rf收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、codec(coder-decoder,编译码器)芯片组、用户标识模块(subscriberidentitymodule,sim)等等。

音频电路406,主要用于从外设接口403接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器411。

扬声器411,用于将手机通过rf电路405从无线网络接收的语音信号,还原为声音并向用户播放该声音。

电源管理芯片408,用于为cpu402、i/o子系统及外设接口403所连接的硬件进行供电及电源管理。

上述移动终端可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块,通过在确定移动终端的显示屏的刷新率大于第一设定值后,从当前运行的各个应用程序中确定满足设定降帧率条件的目标应用程序,按照设定降帧率策略降低所述目标应用程序的绘制帧率,可以降低移动终端的功耗。

上述仅为本发明的较佳实施例及所运用的技术原理。本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求的范围决定。

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