一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

显示帧率控制方法及装置、计算机可读介质和电子设备与流程

2022-02-22 22:29:34 来源:中国专利 TAG:
显示帧率控制方法及装置、计算机可读介质和电子设备与流程

本公开涉及图像显示技术领域,具体涉及一种显示帧率控制方法、显示帧率控制装置、计算机可读介质和电子设备。

背景技术

伴随着人们生活水平的不断提高,人们对电子设备的图像质量要求越来越高,具有较高刷新频率的显示设备越来越受到人们的关注。

目前,高刷新频率的显示设备在多图层显示场景中,由于不同应用图层对应不同的刷新帧率,而具有不同刷新帧率的多个图层合成后得到的图像的刷新帧率较高,从而导致显示设备的显示功耗较高,使显示设备的续航性能不理想。



技术实现要素:

本公开的目的在于提供一种显示帧率控制方法、显示帧率控制装置、计算机可读介质和电子设备,进而至少在一定程度上保证多图层显示场景中合成图像的质量不变的同时降低合成图像的显示帧率,降低显示设备的显示功耗。

根据本公开的第一方面,提供一种显示帧率控制方法,包括:

获取至少一个应用程序图层的图层绘制请求,所述图层绘制请求包括图层刷新帧率;

若检测到当前周期性刷新场景满足帧率对齐条件,则基于所述图层刷新帧率确定所述应用程序图层的帧率对齐信号;

根据所述帧率对齐信号合成所述应用程序图层,并刷新显示合成后的应用程序图层,以使所述合成后的应用程序图层的显示帧率小于各所述应用程序图层的图层刷新帧率之和。

根据本公开的第二方面,提供一种显示帧率控制装置,包括:

图层刷新帧率获取模块,用于获取至少一个应用程序图层的图层绘制请求,所述图层绘制请求包括图层刷新帧率;

帧率对齐模块,用于若检测到当前周期性刷新场景满足帧率对齐条件,则基于所述图层刷新帧率确定所述应用程序图层的帧率对齐信号;

图层显示模块,用于根据所述帧率对齐信号合成所述应用程序图层,并刷新显示合成后的应用程序图层,以使所述合成后的应用程序图层的显示帧率小于各所述应用程序图层的图层刷新帧率之和。

根据本公开的第三方面,提供一种计算机可读介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述的方法。

根据本公开的第四方面,提供一种电子设备,其特征在于,包括:

处理器;以及

存储器,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现上述的方法。

本公开的一种实施例所提供的显示帧率控制方法,首先可以获取至少一个应用程序图层的图层绘制请求,该图层绘制请求中包括图层刷新帧率,并在检测到当前周期性刷新场景满足帧率对齐条件时,基于图层刷新帧率确定应用程序图层的帧率对齐信号,进而可以根据帧率对齐信号合成应用程序图层,并刷新显示合成后的应用程序图层,以使合成后的应用程序图层的显示帧率小于各应用程序图层的图层刷新帧率之和。一方面,基于各应用程序图层的图层刷新帧率确定帧率对齐信号,进而根据该帧率对齐信号合成应用程序图层,能够使不同图层刷新帧率的图像帧尽量对齐在同一帧,即终端设备的显示单元刷新一次即可同时刷新显示多个图像帧,避免显示单元刷新一次只刷新显示一个图像帧的问题,有效降低合成后的图像的显示帧率,在一定程度上降低终端设备的显示功耗,提升终端设备的续航能力;另一方面,在确定当前周期性刷新场景满足帧率对齐条件时才进行帧率对齐或者帧率同步,避免如终端设备检测到触控请求时进行帧率对齐从而导致图像刷新延迟的问题,在降低显示帧率的同时,保证终端设备的显示质量。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了可以应用本公开实施例的一种示例性系统架构的示意图;

图2示出了可以应用本公开实施例的一种电子设备的示意图;

图3示意性示出本公开示例性实施例中一种显示帧率控制方法的流程示意图;

图4示意性示出本公开示例性实施例中一种通过首帧对齐实现帧率对齐的流程示意图;

图5示意性示出本公开示例性实施例中一种通过帧率公倍数实现帧率对齐的流程示意图;

图6示意性示出本公开示例性实施例中一种刷新显示合成后的应用程序图层的流程示意图;

图7示意性示出本公开示例性实施例中一种应用于终端设备的显示帧率控制架构的组成示意图;

图8示意性示出本公开示例性实施例中一种相关技术方案中实现图层合成的原理示意图;

图9示意性示出本公开示例性实施例中一种通过帧率对齐实现图层合成的原理示意图;

图10示意性示出本公开示例性实施例中显示帧率控制装置的组成示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

图1示出了可以应用本公开实施例的一种显示帧率控制方法及装置的示例性应用环境的系统架构的示意图。

如图1所示,系统架构100可以包括终端设备101、102、103中的一个或多个,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。终端设备101、102、103可以是各种具有图像处理功能的电子设备,包括但不限于台式计算机、便携式计算机、智能手机和平板电脑等等。应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。比如服务器105可以是多个服务器组成的服务器集群等。

本公开实施例所提供的显示帧率控制方法一般由终端设备101、102、103中执行,相应地,显示帧率控制装置一般设置于终端设备101、102、103中。但本领域技术人员容易理解的是,本公开实施例所提供的显示帧率控制方法也可以由服务器105执行,相应的,显示帧率控制装置也可以设置于服务器105中,本示例性实施例中对此不做特殊限定。

本公开的示例性实施方式提供一种用于实现显示帧率控制方法的电子设备,其可以是图1中的终端设备101、102、103或服务器105。该电子设备至少包括处理器和存储器,存储器用于存储处理器的可执行指令,处理器配置为经由执行可执行指令来执行显示帧率控制方法。

下面以图2中的移动终端200为例,对电子设备的构造进行示例性说明。本领域技术人员应当理解,除了特别用于移动目的的部件之外,图2中的构造也能够应用于固定类型的设备。在另一些实施方式中,移动终端200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或软件和硬件的组合实现。各部件间的接口连接关系只是示意性示出,并不构成对移动终端200的结构限定。在另一些实施方式中,移动终端200也可以采用与图2不同的接口连接方式,或多种接口连接方式的组合。

如图2所示,移动终端200具体可以包括:处理器210、内部存储器221、外部存储器接口222、通用串行总线(Universal Serial Bus,USB)接口230、充电管理模块240、电源管理模块241、电池242、天线1、天线2、移动通信模块250、无线通信模块260、音频模块270、扬声器271、受话器272、麦克风273、耳机接口274、传感器模块280、显示屏290、摄像模组291、指示器292、马达293、按键294以及用户标识模块(subscriber identification module,SIM)卡接口295等。其中传感器模块280可以包括深度传感器2801、压力传感器2802、陀螺仪传感器2803等。

处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(Application Processor,AP)、调制解调处理器、图形处理器(Graphics Processing Unit,GPU)、图像信号处理器(Image Signal Processor,ISP)、控制器、视频编解码器、数字信号处理器(Digital Signal Processor,DSP)、基带处理器和/或神经网络处理器(Neural-Network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

NPU为神经网络(Neural-Network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现移动终端200的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

处理器210中设置有存储器。存储器可以存储用于实现六个模块化功能的指令:检测指令、连接指令、信息管理指令、分析指令、数据传输指令和通知指令,并由处理器210来控制执行。

充电管理模块240用于从充电器接收充电输入。电源管理模块241用于连接电池242、充电管理模块240与处理器210。电源管理模块241接收电池242和/或充电管理模块240的输入,为处理器210、内部存储器221、显示屏290、摄像模组291和无线通信模块260等供电。

移动终端200的无线通信功能可以通过天线1、天线2、移动通信模块250、无线通信模块260、调制解调处理器以及基带处理器等实现。其中,天线1和天线2用于发射和接收电磁波信号;移动通信模块250可以提供应用在移动终端200上的包括2G/3G/4G/5G等无线通信的解决方案;调制解调处理器可以包括调制器和解调器;无线通信模块260可以提供应用在移动终端200上的包括无线局域网(Wireless Local Area Networks,WLAN)(如无线保真(Wireless Fidelity,Wi-Fi)网络)、蓝牙(Bluetooth,BT)等无线通信的解决方案。在一些实施例中,移动终端200的天线1和移动通信模块250耦合,天线2和无线通信模块260耦合,使得移动终端200可以通过无线通信技术与网络以及其他设备通信。

移动终端200通过GPU、显示屏290及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏290和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器210可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

移动终端200可以通过ISP、摄像模组291、视频编解码器、GPU、显示屏290及应用处理器等实现拍摄功能。其中,ISP用于处理摄像模组291反馈的数据;摄像模组291用于捕获静态图像或视频;数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号;视频编解码器用于对数字视频压缩或解压缩,移动终端200还可以支持一种或多种视频编解码器。

外部存储器接口222可以用于连接外部存储卡,例如Micro SD卡,实现扩展移动终端200的存储能力。外部存储卡通过外部存储器接口222与处理器210通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器221可以用于存储计算机可执行程序代码,可执行程序代码包括指令。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储移动终端200使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(Universal Flash Storage,UFS)等。处理器210通过运行存储在内部存储器221的指令和/或存储在设置于处理器中的存储器的指令,执行移动终端200的各种功能应用以及数据处理。

移动终端200可以通过音频模块270、扬声器271、受话器272、麦克风273、耳机接口274及应用处理器等实现音频功能。例如音乐播放、录音等。

深度传感器2801用于获取景物的深度信息。在一些实施例中,深度传感器可以设置于摄像模组291。

压力传感器2802用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器2802可以设置于显示屏290。压力传感器2802的种类很多,如电阻式压力传感器,电感式压力传感器,电容式压力传感器等。

陀螺仪传感器2803可以用于确定移动终端200的运动姿态。在一些实施方式中,可以通过陀螺仪传感器2803确定移动终端200围绕三个轴(即,x,y和z轴)的角速度。陀螺仪传感器2803可以用于拍摄防抖、导航、体感游戏场景等。

此外,还可以根据实际需要在传感器模块280中设置其他功能的传感器,例如气压传感器、磁传感器、加速度传感器、距离传感器、接近光传感器、指纹传感器、温度传感器、触摸传感器、环境光传感器、骨传导传感器等。

移动终端200中还可包括其它提供辅助功能的设备。例如,按键294包括开机键,音量键等,用户可以通过按键输入,产生与移动终端200的用户设置以及功能控制有关的键信号输入。再如,指示器292、马达293、SIM卡接口295等。

目前,终端设备的显示界面一般有多个应用程序(Application,App)图层显示,每个应用程序图层需求的显示频率一般也不相同,例如,时间显示图层一般1秒刷新一次,视频显示图层一般1秒刷新24次等,当然还有各种显示帧率的需求。各图层的显示需求都需要向图层合成服务(SurfaceFlinger,SF)申请显示垂直同步信号vsync,相关技术方案中是按照当前显示屏幕的刷新频率,只要有图层的显示请求,在屏幕刷新周期Hw-vsync(Hwcomposer vsync)到来时就会响应并刷新显示,但是这种方案会导致SF合成刷新频次经常达到最大屏幕刷新率,显示功耗的消耗较大。举例而言,以屏幕的刷新频率是60Hz为例,当有两个需求30FPS(Frame Per Second,每秒传输帧数)的显示帧率刷新图层时,SF合成图层后得到的显示图像的显示帧率可能是60FPS,如果刷新频率是90Hz的屏幕在有三个30FPS需求的刷新图层时,SF合成图层后得到的显示图像的显示帧率可能是90FPS,这样会导致屏幕始终以最高刷新频率刷新显示,造成较大的显示功耗开销。

基于相关技术方案中的一种或者多种问题,本示例实施例首先提供了一种显示帧率控制方法,下面以终端设备执行该方法为例,对本公开示例性实施方式的显示帧率控制方法和显示帧率控制装置进行具体说明。

图3示出了本示例性实施方式中一种显示帧率控制方法的流程示意图,可以包括以下步骤S310至步骤S330:

在步骤S310中,获取至少一个应用程序图层的图层绘制请求,所述图层绘制请求包括图层刷新帧率。

在一示例性实施例中,应用程序图层(App layer)是指显示在终端设备的显示界面上的各种显示元素的图层,例如,应用程序图层可以是显示文字、图像或者视频等显示内容的图层,也可以是包含状态栏、全屏壁纸、桌面静止、或者导航栏等各种界面元素的图层,当然,还可以是包含其他类型显示元素的图层,本示例实施例对此不做特殊限定。

可以将不同的应用程序图层按顺序叠放在一起,组合起来形成显示界面的最终效果。也可以通过应用程序图层实现显示界面上显示元素的精确定位,当然,也可以在应用程序图层中加入文本、图片、表格以及插件等内容,还可以在图层里面再嵌套一个应用程序图层。

图层绘制请求是指应用程序需要将应用程序图层显示在终端设备的显示界面时生成的请求指令,该图层绘制请求可以包括图层刷新帧率,当然,图层绘制请求也可以包括应用程序标识等信息,本示例实施例对此不做特殊限定。

应用程序通过向SF发送包含图层刷新帧率的图层绘制请求,能够得到应用程序需要绘制显示的应用程序图层的垂直同步信号vsync,进而基于该垂直同步信号vsync实现在显示界面刷新显示应用程序图层。

在步骤S320中,若检测到当前周期性刷新场景满足帧率对齐条件,则基于所述图层刷新帧率确定所述应用程序图层的帧率对齐信号。

在一示例性实施例中,帧率对齐信号是指用于将不同的应用程序图层进行帧对齐或者帧同步的垂直同步信号,简单举例,假设1秒内终端设备的显示屏幕需要刷新10次,即显示屏幕对应的垂直同步信号为10个刷新周期,而对于帧率为5FPS的应用程序A图层和应用程序B图层,如果不进行帧对齐或者帧同步处理,可能出现应用程序A图层在显示屏幕的第1、3、5、7、9个刷新周期时刷新显示在显示界面,而应用程序B图层在显示屏幕的第2、4、6、8、10个刷新周期时刷新显示在显示界面,这样使显示屏幕必须刷新10次才能够将两个应用程序图层显示在终端设备的显示界面中,此时通过帧率对齐信号,可以将应用程序B的应用程序图层的帧与应用程序A对应的应用程序图层进行对齐,使应用程序B也在显示屏幕的第1、3、5、7、9个刷新周期时刷新显示在显示界面,这样,显示屏幕仅需要刷新5次即可实现应用程序A和应用程序B的应用程序图层的显示。

帧率对齐条件是指在不影响显示界面中显示内容以及用户操作的前提下能够进行不同应用程序图层的帧率对齐的条件,例如,由于终端设备的显示界面一般会接收到用户的控制操作(如在移动终端对应显示界面上的触摸操作,或者在个人电脑上的鼠标点击操作等),在接收到控制操作时显示界面一般需要做出响应,此时需要及时根据接收到的控制操作及时刷新显示应用程序图层的内容,实现对控制操作的响应。如果此时继续进行帧率对齐的话,有可能造成控制操作的响应延迟,导致不良影响。因此,在当前周期性刷新场景满足帧率对齐条件后再进行帧率对齐是非常有必要的。

在步骤S330中,根据所述帧率对齐信号合成所述应用程序图层,并刷新显示合成后的应用程序图层,以使所述合成后的应用程序图层的显示帧率小于各所述应用程序图层的图层刷新帧率之和。

在一示例性实施例中,可以在确定得到帧率对齐信号之后,按照帧率对齐信号对至少一个应用程序图层进行合成,以使合成后的各应用程序图层之间的帧进行对齐或者同步,并刷新显示合成后的应用程序图层,完成至少一个应用程序图层的显示。此时,合成后的应用程序图层的显示帧率小于各应用程序图层的图层刷新帧率之和,能够有效减少终端设备的显示屏幕的刷新次数,减小显示屏幕的显示功耗,提升终端设备的续航性能。

下面,对步骤S310至步骤S330进行详细说明。

在一示例性实施例中,可以在检测到当前周期性刷新场景中接收到图层周期性刷新请求且没有检测到触控请求时,认为当前周期性刷新场景满足帧率对齐条件。

其中,帧率对齐条件可以包括当前周期性刷新场景中接收到图层周期性刷新请求,同时,当前周期性刷新场景中没有检测到触控请求。

具体的,接收到图层周期性刷新请求是指确认终端设备的当前显示界面上已经显示有一个或者多个应用程序图层,并且此时依旧在进行图层周期性刷新的场景,即在对新的应用程序图层进行帧率对齐时,只有在显示界面上已经显示有应用程序图层时才需要帧率对齐。如果显示界面上没有正在显示的应用程序图层,那么则不需要也无法进行各应用程序图层的帧率对齐。因此,在确认当前显示界面上已经显示有一个或者多个应用程序图层,即接收到图层周期性刷新请求时进行帧率对齐。

没有检测到触控请求是指确认终端设备的显示界面上没有检测到控制操作的场景,因为在接收到控制操作时显示界面一般需要做出响应,此时需要及时根据接收到的控制操作及时刷新显示应用程序图层的内容,实现对控制操作的响应。如果此时继续进行帧率对齐的话,有可能造成控制操作的响应延迟,导致不良影响。因此,在确认当前显示界面上没有控制操作,即没有检测到触控请求时进行帧率对齐。

可以在检测到当前周期性刷新场景中接收到图层周期性刷新请求且没有检测到触控请求时,认为可以对新的应用程序图层进行帧率对齐或者帧率同步,因此,此时可以确认当前周期性刷新场景满足帧率对齐条件。

在一示例性实施例中,步骤S320可以包括步骤S410至步骤S430,实现基于图层刷新帧率确定应用程序图层的帧率对齐信号,参考图4所示,具体可以包括:

步骤S410,获取当前周期性刷新场景中的已显示图层的最新刷新时间;

步骤S420,将所述最新刷新时间作为所述应用程序图层的起始刷新时间;

步骤S430,基于所述图层刷新帧率以及所述起始刷新时间确定所述应用程序图层的帧率对齐信号。

其中,最新刷新时间是指新的应用程序图层请求刷新显示时,已显示图层的刷新周期中最接近的图层刷新信号到来所对应的时间,已显示图层的刷新周期是指当前周期性刷新场景中在显示界面已存在的应用程序图层对应的图层刷新周期,例如,当前已显示图层的刷新周期为,在0.1s、0.3s、0.5s、0.7s、0.9s时分别刷新一次,而新的应用程序图层在0.4s时请求绘制显示,那么最新刷新时间为0.5s。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

起始刷新时间是指绘制应用程序图层的第一帧图像时垂直同步信号对应的时间点,具体可以将应用程序图层的起始帧的显示时间与最新刷新时间进行对齐得到起始显示时间,例如,对于当前已显示图层的刷新周期为,在0.1s、0.3s、0.5s、0.7s、0.9s刷新一次,新的应用程序图层在0.4s时请求绘制显示,那么已显示图层的刷新周期的最新刷新时间为0.5s,将该最新刷新时间作为应用程序图层的起始帧的显示时间,实现首帧对齐,得到应用程序图层的起始帧的起始显示时间为0.5s,即在0.5s时生成应用程序图层对应的垂直同步信号,以使应用程序图层在0.5s时开始绘制显示,并根据该应用程序图层的图层刷新帧率得到该应用程序图层的刷新周期,该应用程序图层的刷新周期与已显示图层的刷新周期实现同步,完成对应用程序图层的帧率同步。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

在一示例性实施例中,步骤S320还可以包括步骤S510至步骤S530,除了图4中通过首帧对齐实现帧率对齐或者帧率同步的方式之外,还可以通过图5中的帧率对齐或者帧率同步的方式,实现基于图层刷新帧率确定应用程序图层的帧率对齐信号,参考图5所示,具体可以包括:

步骤S510,获取当前周期性刷新场景中已显示图层的刷新帧率,并确定所述已显示图层的刷新帧率和所述图层刷新帧率的最小公倍数;

步骤S520,根据所述最小公倍数确定最终输出显示帧率;

步骤S530,根据所述最终输出显示帧率确定所述应用程序图层的刷新周期,并通过所述刷新周期确定所述应用程序图层的帧率对齐信号。

其中,已显示图层是指在新的应用程序图层绘制显示之前已经在显示界面绘制显示的应用程序图层。

最终输出显示帧率是指将多个已显示图层和新的应用程序图层进行合成后,在显示界面绘制显示时的显示帧率。例如,假设有2个已显示图层和一个请求刷新显示的新应用程序图层,这2个已显示图层的图层刷新帧率分别为30FPS、10FPS,新应用程序图层的图层刷新帧率为5FPS,那么在对这2个已显示图层和新应用程序图层的图层刷新帧率的最小公倍数为30,因此,确定显示界面的最终输出显示帧率为30FPS。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

具体的,在根据已显示图层的刷新帧率和请求刷新显示的新应用程序图层的图层刷新帧率确定最终输出显示帧率之后,可以将最终输出显示帧率作为帧率对齐的限制条件,调整已显示图层和新应用程序图层的刷新周期,以使最终将已显示图层和新应用程序图层进行合成输出后,最终显示界面的合成图像的显示帧率为最终输出显示帧率。

可以根据该最终输出显示帧率计算新应用程序图层的图层刷新帧率在分布到最终输出显示帧率时对应的显示时间即新的应用程序图层的刷新周期,并根据该刷新周期确定新应用程序图层对应的帧率对齐信号;以及计算已显示图层的图层刷新帧率在分布到最终输出显示帧率时对应的显示时间即已显示图层的刷新周期,并根据该刷新周期调整已显示图层对应的帧率对齐信号,实现在将已显示图层和新应用程序图层进行合成输出后得到的合成图像的显示帧率为最终输出显示帧率。

举例而言,假设当前周期性刷新场景中已经有刷新显示的2个已显示图层,这2个已显示图层的图层刷新帧率分别为30FPS和10FPS,此时有图层刷新帧率为3FPS的新应用程序图层请求刷新时,那么2个已显示图层和新应用程序图层的图层刷新帧率30FPS、10FPS和3FPS的最小公倍数为30,可以确定显示界面的最终输出显示帧率为30FPS,由于新的应用程序图层的图层刷新帧率为3FPS,那么在将该新的应用程序图层与已显示图层进行同步对齐时,可以将最终输出显示帧率的第10帧、第20帧以及第30帧对应显示时间作为新的应用程序图层的刷新显示时间,即新的应用程序图层的刷新周期,并根据该刷新周期输出该新的应用程序图层对应的帧率对齐信号,以及通过相同方法,调整图层刷新帧率为30FPS和10FPS的已显示图层的刷新周期,并根据已显示图层的刷新周期确定已显示图层的帧率对齐信号,根据生成的新应用程序图层对应的帧率对齐信号以及已显示图层的帧率对齐信号,使新应用程序图层与已显示图层实现帧率对齐,最终保证显示界面合成输出的合成图像的显示帧率为最终输出显示帧率,降低合成图像的显示帧率。当然,此处仅是示意性举例说明,并不应对本示例实施例造成任何特殊限定。

在一示例性实施例中,可以在检测到当前周期性刷新场景中没有接收到图层周期性刷新请求或者检测到触控请求时,认为当前周期性刷新场景不满足帧率对齐条件,此时不能对各应用程序图层进行帧率对齐。

其中,没有接收到图层周期性刷新请求是指当前周期性刷新场景中显示界面没有已经刷新显示的图层,此时显示界面仅需要显示新的应用程序图层,不需要也无法进行帧率对齐,因此可以认为当前周期性刷新场景不满足帧率对齐条件。

检测到触控请求是指当前周期性刷新场景中用户在显示界面执行了控制操作,此时显示界面中的应用程序图层需要及时响应控制操作,应用程序图层需要及时刷新显示,不能够进行帧率对齐,否则会出现控制操作的响应延迟现象,因此可以认为当前周期性刷新场景不满足帧率对齐条件。

可以在检测到当前周期性刷新场景中没有接收到图层周期性刷新请求,或者当前周期性刷新场景中检测到触控请求时,认为此时不能够对新的应用程序图层进行帧率对齐或者帧率同步,因此,此时可以确认当前周期性刷新场景不满足帧率对齐条件。

具体的,若检测到当前周期性刷新场景不满足帧率对齐条件,则可以响应图层绘制请求生成帧率同步信号,以使应用程序图层按照帧率同步信号进行刷新显示。

其中,由于当前周期性刷新场景不满足帧率对齐条件时,可以认为此时不需要应用程序图层进行帧率对齐或者帧率同步,因此可以在接收到应用程序的图层绘制请求,直接生成新的应用程序图层对应的帧率同步信号即输出的垂直同步信号(APP vsync),以使应用程序图层按照帧率同步信号进行刷新显示。在当前周期性刷新场景不满足帧率对齐条件时,直接跳过帧率对齐或者帧率同步的过程,能够有效降低系统的计算量,提升系统性能,保证控制操作的响应速度,保证应用程序图层及时的刷新显示,提升显示内容的质量。

在一示例性实施例中,步骤S330可以包括步骤S610和步骤S620,实现根据帧率对齐信号合成应用程序图层,并刷新显示合成后的应用程序图层,参考图6所示,具体可以包括:

步骤S610,将所述帧率对齐信号发送给启动的至少一个应用程序图层刷新线程,以使所述应用程序图层刷新线程根据所述帧率对齐信号绘制所述应用程序图层;

步骤S620,基于图层合成服务响应所述应用程序图层刷新线程的显示请求,将绘制好的应用程序图层进行合成,并刷新显示合成后的应用程序图层。

其中,应用程序图层刷新线程是指用于绘制应用程序图层的线程。在本公开中的终端设备是基于Android系统的移动终端时,图层合成服务可以是Android系统中的SurfaceFlinger服务。

图7示意性示出本公开示例性实施例中一种应用于终端设备的显示帧率控制架构的组成示意图。

参考图7所示,应用于终端设备的显示帧率控制架构至少可以包括应用程序运行模块701、图像合成服务模块702以及显示屏幕输出模块703。在实施例中,假设应用程序运行模块701需要启动应用程序1和应用程序2,其中应用程序1的启动需要绘制显示应用程序图层1和应用程度图层2,应用程序2的启动需要绘制显示应用程序图层3。

在启动应用程序1时,应用程序1对应的应用程序图层刷新线程向图像合成服务模块702发送图层1绘制请求以及图层2绘制请求,在启动应用程序2时,应用程序2对应的应用程序图层刷新线程向图像合成服务模块702发送图层3绘制请求。

图像合成服务模块702在接收到图层1绘制请求、图层2绘制请求以及图层3绘制请求时,可以通过帧率同步模块7021检测当前周期性刷新场景是否满足帧率对齐条件,如果满足帧率对齐条件,则可以通过图4中的首帧对齐同步方式或者图5中的公倍数对齐同步方式对图层1、图层2和图层3进行帧率对齐,输出同步后各图层的刷新显示时间。

然后帧率同步模块7021可以将同步后各图层的刷新显示时间继续输入到硬件垂直同步信号(Display Vsync)7022中,输出应用程序图层对应的帧率对齐信号(App Vsync),并将该帧率对齐信号返回给应用程序运行模块701中的应用程序1和应用程序2对应的应用程序图层刷新线程,应用程序图层刷新线程在接收到帧率对齐信号时完成对帧图层的绘制,同时图像合成服务模块702将应用程序1和应用程序2对应的应用程序图层刷新线程绘制好的图层1、图层2和图层3进行合成,并发送给显示屏幕输出模块703进行最终显示界面的刷新显示。

图8示意性示出本公开示例性实施例中一种相关技术方案中实现图层合成的原理示意图。

参考图8所示,以刷新率为90Hz的显示屏幕为例(图中以0.2s内各图层的刷新显示为例进行展示),在相关技术方案中,假设图层1的图层刷新帧率为30FPS,图层2的图层刷新帧率为15FPS,图层1的图层刷新帧率为30FPS,那么图层1、图层2和图层3在同时刷新时,实际经过图像合成服务合成后的图层1、图层2和图层3在显示屏幕上的输出帧率为75FPS。

图9示意性示出本公开示例性实施例中一种通过帧率对齐实现图层合成的原理示意图。

参考图9所示,以刷新率为90Hz的显示屏幕为例(图中以0.2s内各图层的刷新显示为例进行展示),在本示例实施例的方案中,假设图层1的图层刷新帧率为30FPS,图层2的图层刷新帧率为15FPS,图层3的图层刷新帧率为30FPS,可以基于图层1、图层2和图层3的图层刷新帧率进行帧率对齐,那么图层1、图层2和图层3在同时刷新时,实际经过图像合成服务合成后的图层1、图层2和图层3在显示屏幕上的输出帧率为30FPS,相比于图8中的不进行帧率对齐的方案,节省了45FPS的刷新负载和功耗,有效降低了终端设备的显示屏幕的功耗。

综上所述,本示例性实施方式中,首先可以获取至少一个应用程序图层的图层绘制请求,该图层绘制请求中包括图层刷新帧率,并在检测到当前周期性刷新场景满足帧率对齐条件时,基于图层刷新帧率确定应用程序图层的帧率对齐信号,进而可以根据帧率对齐信号合成应用程序图层,并刷新显示合成后的应用程序图层,以使合成后的应用程序图层的显示帧率小于各应用程序图层的图层刷新帧率之和。一方面,基于各应用程序图层的图层刷新帧率确定帧率对齐信号,进而根据该帧率对齐信号合成应用程序图层,能够使不同图层刷新帧率的图像帧尽量对齐在同一帧,即终端设备的显示单元刷新一次即可同时刷新显示多个图像帧,避免显示单元刷新一次只刷新显示一个图像帧的问题,有效降低合成后的图像的显示帧率,在一定程度上降低终端设备的显示功耗,提升终端设备的续航能力;另一方面,在确定当前周期性刷新场景满足帧率对齐条件时才进行帧率对齐或者帧率同步,避免如终端设备检测到触控请求时进行帧率对齐从而导致图像刷新延迟的问题,在降低显示帧率的同时,保证终端设备的显示质量。

需要注意的是,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。

进一步的,参考图10所示,本示例的实施方式中还提供一种显示帧率控制装置1000,可以包括图层刷新帧率获取模块1010、帧率对齐模块1020和图层显示模块1030。其中:

图层刷新帧率获取模块1010用于获取至少一个应用程序图层的图层绘制请求,所述图层绘制请求包括图层刷新帧率;

帧率对齐模块1020用于若检测到当前周期性刷新场景满足帧率对齐条件,则基于所述图层刷新帧率确定所述应用程序图层的帧率对齐信号;

图层显示模块1030用于根据所述帧率对齐信号合成所述应用程序图层,并刷新显示合成后的应用程序图层,以使所述合成后的应用程序图层的显示帧率小于各所述应用程序图层的图层刷新帧率之和。

在一示例性实施例中,帧率对齐模块1020可以用于:

若检测到当前周期性刷新场景中接收到图层周期性刷新请求且没有检测到触控请求,则确定所述当前周期性刷新场景满足帧率对齐条件。

在一示例性实施例中,帧率对齐模块1020可以用于:

获取当前周期性刷新场景中的已显示图层的最新刷新时间;

将所述最新刷新时间作为所述应用程序图层的起始刷新时间;

基于所述图层刷新帧率以及所述起始刷新时间确定所述应用程序图层的帧率对齐信号。

在一示例性实施例中,帧率对齐模块1020还可以用于:

获取当前周期性刷新场景中的已显示图层的刷新帧率,并确定所述已显示图层的刷新帧率和所述图层刷新帧率的最小公倍数;

根据所述最小公倍数确定最终输出显示帧率;

根据所述最终输出显示帧率确定所述应用程序图层的刷新周期,并通过所述刷新周期确定所述应用程序图层的帧率对齐信号。

在一示例性实施例中,显示帧率控制装置1000还包括直接显示单元,该直接显示单元可以用于:

若检测到当前周期性刷新场景中没有接收到图层周期性刷新请求或者检测到触控请求,则确定所述当前周期性刷新场景不满足帧率对齐条件。

在一示例性实施例中,直接显示单元还可以用于:

若检测到所述当前周期性刷新场景不满足所述帧率对齐条件,则响应所述图层绘制请求生成帧率同步信号,以使所述应用程序图层按照所述帧率同步信号进行刷新显示。

在一示例性实施例中,图层显示模块1030可以用于:

将所述帧率对齐信号发送给启动的至少一个应用程序图层刷新线程,以使所述应用程序图层刷新线程根据所述帧率对齐信号绘制所述应用程序图层;

基于图层合成服务响应所述应用程序图层刷新线程的显示请求,将绘制好的应用程序图层进行合成,并刷新显示合成后的应用程序图层。

上述装置中各模块的具体细节在方法部分实施方式中已经详细说明,未披露的细节内容可以参见方法部分的实施方式内容,因而不再赘述。

所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。

本公开的示例性实施方式还提供了一种计算机可读存储介质,其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施方式中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在终端设备上运行时,程序代码用于使终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤,例如可以执行图3至图6中任意一个或多个步骤。

需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。

在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。

此外,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、C 等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献