CN110618801B - 平滑画面帧率表现方法、装置、终端设备及存储介质 - Google Patents
平滑画面帧率表现方法、装置、终端设备及存储介质 Download PDFInfo
- Publication number
- CN110618801B CN110618801B CN201910948241.1A CN201910948241A CN110618801B CN 110618801 B CN110618801 B CN 110618801B CN 201910948241 A CN201910948241 A CN 201910948241A CN 110618801 B CN110618801 B CN 110618801B
- Authority
- CN
- China
- Prior art keywords
- rate
- frame
- synthesis
- picture
- production
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1407—General aspects irrespective of display type, e.g. determination of decimal point position, display with fixed or driving decimal point, suppression of non-significant zeros
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Television Systems (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明适用于数据处理技术领域,提供了一种平滑画面帧率表现方法、装置、终端设备及存储介质,方法包括:根据当前画面的画面间隔,确定得到当前画面时所采用的合成速率,将合成速率作为缓冲帧的初始合成速率;检测预设时间内缓冲帧的生产速率;获取初始合成速率和生产速率在预设时间内的映射关系;根据映射关系检测画面丢帧事件;若检测到画面丢帧事件,则调整初始合成速率获得第一合成速率,以使第一合成速率与生产速率同步。通过本发明可以使缓冲帧的生产与合成达到较为均衡的状态,避免帧率无法跑满或帧率不稳定的情况,从而提高画面显示的流畅性和应用响应的及时性。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种平滑画面帧率表现方法、装置、终端设备及存储介质。
背景技术
现在的Android移动终端***图形显示一般都是固定的刷新率,刷新率表现的是屏幕上画面刷新的频率,比如主流的60帧,现在也有90帧的移动终端,预计在不久的将来也会迎来120帧甚至更高刷新率的移动终端,但是不论是以多少帧去刷新屏幕,刷新率都需要与应用的帧数同步才能够呈现流畅的画面显示效果,以当前主流的60帧***为例,其帧间隔为16.6ms,16.6ms是图形生产和合成的基本时间单元,生产合成的触发时机就是每16.6ms去检查是否有缓冲帧,如果有才进行生产并上屏显示,若刷新率与应用的帧数同步,则应每间隔16.6ms时缓冲帧生成完成,然后进行生产合成。
目前,帧同步的方式常常是以固定的时间周期来维护所有的生产和合成的节奏。以游戏应用为例:游戏厂商为了适配不同移动终端,会提高不同的画质、分辨率以及帧率等等多种配置,这里提供的帧率是游戏应用所提供的固定刷新率。如20帧、25帧、30帧、40帧、60帧5种帧率模式。其中20帧和30帧,平均帧间隔为50ms,33.3ms,分别是16.6的3倍和2倍,只要游戏中缓冲帧生产的及时,缓冲帧生产上屏显示正常的情况下,每一帧的显示间隔都是均匀的50ms和33.3ms。但是对于25帧和40帧的情况就会出现明显的长短帧情况,以40帧为例,帧间隔相当于25ms,即缓冲帧的生成速率为25ms一帧,要达到这个帧率,通过SurfaceFlinger实现合成时就会出现缓冲帧以33.3ms,和16.6ms来回生产的现象,表现就是画面显示的帧间隔一会儿为33.3ms,一会儿又为16.6ms,这对于用户体验和帧率表现来说都不是一种好的现象。其实,只要帧间隔合成生产的速率不是16.6的倍数,比如帧率在30~60之间,都存在这种情况。
可见,在应用提供固定的刷新率的情况下,虽然可以通过帧同步的方式使刷新率与应用的帧数同步,但对于场景负载的大型手游来说,根据于平台或者用户的使用习惯,将暴露长短帧的问题:一方面在重负载和移动终端性能偏弱的情况下,常常不能跑满帧率;另一方面,帧率忽高忽低,不仅对用户极致体验造成负面影响,如关键的显示和触摸延迟等。
发明内容
本发明的主要目的在于提出一种平滑画面帧率表现方法、装置、终端设备及存储介质,以解决现有的帧同步方式还存在长短帧和帧率不稳定的情况,影响画面显示的流畅性以及应用响应的及时性的问题。
为实现上述目的,本发明实施例第一方面提供一种平滑画面帧率表现方法,包括:
根据当前画面的画面间隔,确定得到所述当前画面时所采用的合成速率,将所述合成速率作为缓冲帧的初始合成速率;
检测预设时间内所述缓冲帧的生产速率;
获取所述初始合成速率和所述生产速率在所述预设时间内的映射关系;
根据所述映射关系检测画面丢帧事件;
若检测到所述画面丢帧事件,则调整所述初始合成速率获得第一合成速率,以使所述第一合成速率与所述生产速率同步。
本发明实施例第二方面提供了一种平滑画面帧率表现装置,包括:
初始合成速率获取模块,用于根据当前画面的画面间隔,确定得到所述当前画面时所采用的合成速率,将所述合成速率作为缓冲帧的初始合成速率;
生产速率检测模块,用于检测预设时间内所述缓冲帧的生产速率;
映射关系获取模块,用于获取所述初始合成速率和所述生产速率在所述预设时间内的映射关系;
画面丢帧事件检测模块,用于根据所述映射关系检测画面丢帧事件;
速率同步模块,用于若检测到所述画面丢帧事件,则调整所述初始合成速率获得第一合成速率,以使所述第一合成速率与所述生产速率同步。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在上述存储器中并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现如上第一方面所提供的方法的步骤。
本发明实施例的第四方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序被处理器执行时实现如上第一方面所提供的方法的步骤。
本发明实施例提出一种平滑画面帧率表现方法,根据缓冲帧的合成速率和生产速率制定预设时间内的映射关系,通过映射关系发现缓冲帧的合成与生产不匹配所造成的画面丢帧事件,并根据缓冲帧的生产速率调整缓冲帧的合成速率,使得缓冲帧的生产与合成达到较为均衡的状态,避免帧率无法跑满或帧率不稳定的情况,从而提高画面显示的流畅性和应用响应的及时性。
附图说明
图1为终端设备的硬件结构框图;
图2为本发明实施例一提供的平滑画面帧率表现方法的实现流程示意图;
图3为图2中步骤S202的详细实现流程示意图;
图4为图2中步骤S203的详细实现流程示意图;
图5为基于初始合成速率和生产速率的时序图;
图6为另一基于初始合成速率和生产速率的时序图;
图7为又一基于初始合成速率和生产速率的时序图;
图8为图2中步骤S204的详细实现流程示意图;
图9为图2中步骤S205的详细实现流程示意图;
图10为调整后的第一合成速率和生产速率之间的关系示意图;
图11为本发明实施例二提供的平滑画面帧率表现方法的实现流程示意图;
图12为图11中步骤S305的详细实现流程示意图;
图13为图11中步骤S306的详细实现流程示意图;
图14为本发明实施例三提供的平滑画面帧率表现装置的组成结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,根据语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
在本文中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,"模块"与"部件"可以混合地使用。
在后续的描述中,发明实施例序号仅仅为了描述,不代表实施例的优劣。
图1示出了一种终端设备的硬件结构框图。本发明实施例提供的一种终端设备解锁方法可应用于如图1所示的终端设备10中,终端设备10可以但不限于包括:支持近距离无线通信且需要解锁的智能手机、笔记本、平板电脑、穿戴智能设备等移动终端。
如图1所示,终端设备10包括存储器101、一个或多个(图中仅示出一个)处理器103,可选的,还可以包括存储控制器102、外设接口104、射频模块105、按键模块106、音频模块107、触控屏幕108以及近距离无线通信模块109。这些组件可以通过一条或多条通讯总线/信号线110相互通讯。
可以理解,图1所示的结构仅为示意,其并不对终端设备的结构造成限定。终端设备10还可包括比图1所示更多或者更少的组件,或者具有与图1所示不同的配置。图1所示的各组件可以采用硬件、软件或其组合实现。
存储器101可用于存储软件程序以及模块,如本发明实施例中的一种终端设备解锁方法及终端设备对应的程序指令/模块,处理器103通过运行存储在存储器101内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现如下述图2和图3所示实施例中的一种终端设备解锁方法,或者实现如下述图4和图5所示实施例中的一种终端设备解锁方法。
存储器101可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器101可进一步包括相对于处理器103远程设置的存储器,这些远程存储器可以通过网络连接至终端设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。处理器103以及其他可能的组件对存储器101的访问可在存储控制器102的控制下进行。
外设接口104将各种输入/输入装置耦合至CPU以及存储器101。处理器103运行存储器101内的各种软件、指令以执行终端设备10的各种功能以及进行数据处理。
在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
射频模块105用于接收以及发送电磁波,实现电磁波与电信号的相互转换,从而与通讯网络或者其他设备进行通讯。射频模块105可包括各种现有的用于执行这些功能的电路元件,例如,天线、射频收发器、数字信号处理器、加密/解密芯片、用户身份模块(Subscriber Identification Module,SIM)卡、存储器等等。射频模块105可与各种网络如互联网、企业内部网、预置类型的无线网络进行通讯或者通过预置类型的无线网络与其他设备进行通讯。上述的预置类型的无线网络可包括蜂窝式电话网、无线局域网或者城域网。上述的预置类型的无线网络可以使用各种通信标准、协议及技术,包括但并不限于全球移动通信***(Global System for Mobile Communication,GSM),增强型移动通信技术(Enhanced Data GSM Environment,EDGE),宽带码分多址技术(Wideband Code DivisionMultiple Access,W-CDMA),码分多址技术(Code Division Access,CDMA),时分多址技术(Time Division Multiple Access,TDMA),蓝牙,无线保真技术(Wireless-Fidelity,WiFi)(如美国电气和电子工程师协会标准IEEE 802.11a、IEEE 802.11b、IEEE802.11g和/或IEEE 802.11n),网络电话(Voice over Internet Protocal,VoIP),全球微波互联接入(Worldwide Interoperability for Microwave Access,Wi-Max),其他用于邮件、即时通讯及短消息的协议,以及任何其他合适的通讯协议。
按键模块106提供用户向终端设备进行输入的接口,用户可以通过按下不同的按键以使终端设备10执行不同的功能。
音频模块107向用户提供音频接口,其可包括一个或多个麦克风、一个或者多个扬声器以及音频电路。音频电路从外设接口104处接收声音数据,将声音数据转换为电信息,将电信息传输至扬声器。扬声器将电信息转换为人耳能听到的声波。音频电路还从麦克风处接收电信息,将电信号转换为声音数据,并将声音数据传输至外设接口104中以进行进一步的处理。音频数据可以从存储器101处或者通过射频模块105获取。此外,音频数据也可以存储至存储器101中或者通过射频模块105进行发送。在一些实例中,音频模块107还可包括一个耳机播孔,用于向耳机或者其他设备提供音频接口。
触控屏幕108在终端设备与用户之间同时提供一个输出及输入界面。具体地,触控屏幕108向用户显示视频输出,这些视频输出的内容可包括文字、图形、视频、及其任意组合。一些输出结果是对应于一些用户界面对象。触控屏幕108还接收用户的输入,例如用户的点击、滑动等手势操作,以便用户界面对象对这些用户的输入做出响应。检测用户输入的技术可以是基于电阻式、电容式或者其他任意可能的触控检测技术。触控屏幕108显示单元的具体实例包括但并不限于液晶显示器或发光聚合物显示器。
近距离无线通信模块109,可以通过例如NFC(Near Field Communication,近场通讯),RFID(Radio Frequency Identification,非接触射频识别)等近距离通信协议,在短距离内与兼容设备进行识别和数据交换。
进一步的,本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是设置于上述及下述各实施例中的终端设备中,该计算机可读存储介质可以是前述图1所示实施例中的存储器。该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时,可实现如下述图2至图4、图8和图9所示实施例中的一种平滑画面帧率表现方法,或者实现如下述图11至图13所示实施例中的一种平滑画面帧率表现方法。
实施例一
如图2所示,本发明实施例提供了一种平滑画面帧率表现方法,可以应用于如图1所示的终端设备中,其实现流程可以包括但不限于以下步骤:
S201、根据当前画面的画面间隔,确定得到所述当前画面时所采用的合成速率,将所述合成速率作为缓冲帧的初始合成速率。
在上述步骤S201中,当前画面可以为应用投射在终端设备屏幕上的画面,用户通过设置,可以确定应用在屏幕上显示画面的帧率,如60帧、120帧等,帧率表示了画面间隔,如帧率为30帧时,画面间隔为33ms,两幅画面显示间隔较大;帧率为60帧时,画面间隔为16.6ms,两幅画面显示间隔较小。
在具体应用中,画面间隔为图形生产和合成的基本时间单元,上述的初始合成速率是指缓冲帧生产之后,进行消费合成的速率,在消费合成之后,终端屏幕才可显示画面。其中,根据画面间隔还计算出当前画面设定的合成速率,画面替换的每次间隔,即为缓冲帧的合成消费时机。如帧率为30帧时,画面间隔为33ms,合成的触发时机就是每33ms去检查是否有缓冲帧,如果有才进行消费,并合成显示画面。
在具体应用中,由于屏幕上显示画面的帧率,或者说当前画面的画面间隔实际上是预先设置并确定的,并且缓冲帧的生产也是由应用生产的,因此,未进行平滑画面帧率的调整前的缓冲帧合成速率可以由画面间隔确定,即本发明实施例中的初始合成速率。
S202、检测预设时间内所述缓冲帧的生产速率。
在上述步骤S202中,预设时间是进行检测时,对当前画面的缓冲帧生产合成情况进行采样所设置的时间段,若由预设时间内的缓冲帧数据检测到相关事件,则将触发相关事件的调整方法,那么,预设时间内的缓冲帧数据将进行调整后再进行生产合成,最后显示到屏幕上。
如图3所示,本发明实施例还示出上述步骤S202的一种实现方式,其通过加权算法提高缓冲帧的生产速率计算的准确性,包括但不限于一下步骤:
S2021、将所述预设时间划分为N个观察周期,获取每个观察周期中所述缓冲帧的生产速率,其中,N为正整数;
S2022、获取第m个观察周期中所述缓冲帧的生产速率;
S2023、利用第m个生产速率,及第m-1个加权速率,及预设的权重分配比例进行加权计算,得到第m个加权速率,所述m的初始值为2,第1个加权速率为第1个观察周期的生产速率;令m=m+1,返回执行所述获取第m个观察周期中所述缓冲帧的生产速率,直至m=N时,将得到的加权速率作为所述预设时间内所述缓冲帧的生产速率。
以一个实际应用为例,假设将预设时间划分为3个观察周期,即N=3,第1个生产速率为A1,第1个加权速率为a1,A1=a1,第2个生产速率为A2,第2个加权速率为a2=A1×1/2+A2×1/2,第3个生产速率为A3,第3个加权速率为a3=A1×1/3+A2×1/3+A3×1/3,则预设时间内缓冲帧的生产速率A为第3个加权速率,即A=A1×1/3+A2×1/3+A3×1/3。其中,A1、A2、A3是可以直接检测到的生产速率的值,a1、a2、a3是加权算法后获得的加权速率,每个加权速率才为本发明实施例中最终采用的缓冲帧的生产速率。
S203、获取所述初始合成速率和所述生产速率在所述预设时间内的映射关系。
在上述步骤S203中,缓冲帧的合成速率和生产速率是相互关联的,两者之间的映射关系主要由与缓冲帧的合成时间点和生产时间点确定,因此,如图4所示,本发明实施例还示出了上述步骤S203的一种实现方式,其包括但不限于以下实现步骤:
S2031、根据所述初始合成速率获取所述预设时间内所述缓冲帧的初始合成时间点;
S2032、根据所述生产速率获取所述预设时间内所述缓冲帧的生产时间点;
S2033、根据所述初始合成时间点和所述生产时间点计算所述初始合成速率和所述生产速率在所述预设时间内的映射关系。
在上述步骤S2031至步骤S2033中,通过缓冲帧的合成时间点和生产时间点确定映射关系,那么,在本发明实施例中,缓冲帧的合成速率和生产速率之间至少包括如下三种映射关系:
1)缓冲帧生产后,立即进行合成;
2)缓冲帧生产后,闲置一段时间再进行合成;
3)缓冲帧生产过程中,开始合成,即缓冲帧未生产完成时开始合成。
在具体应用中,时序图可以根据时间顺序显示多个对象之间的动态协作,则在一个实施例中,还可使用时序图表现上述映射关系的获取。
如图5所示,本发明实施例还以上述的第1种映射关系给出了初始合成速率和生产速率的时序图表示,图5中,每一个虚线都表示初始合成时间点,矩形表示缓冲帧的生产,可见在第二个初始合成时间点上,缓冲帧的生产正好到达第二个合成时间点。
如图6所示,本发明实施例还以上述的第2种映射关系给出了初始合成速率和生产速率的时序图表示,图6中,每一个虚线都表示初始合成时间点,矩形表示缓冲帧的生产,可见在第二个初始合成时间点上,缓冲帧的生产已经完成一段时间,闲置这段时间之后,到达第二个合成时间点时才被调用进行合成。
如图7所示,本发明实施例还以上述的第3种映射关系给出了初始合成速率和生产速率的时序图表示,图7中,每一个虚线都表示初始合成时间点,矩形表示缓冲帧的生产,可见在第二个初始合成时间点上,缓冲帧的生产并没有完成,但已经到达合成时机,那么这个缓冲帧无法起到作用,第二个合成时间点和第三个合成时间点之间,屏幕不会显示此缓冲帧的内容。
S204、根据所述映射关系检测画面丢帧事件。
在上述步骤S204中,由上述步骤S203可知,缓冲帧的合成速率和生产速率是相互关联的,其不同的映射关系代表预设时间内缓冲帧合成生产的不同情况,也反映了应用的图形显示情况。
以上述的三种映射关系为例,则每个映射关系对应的缓冲帧合成生产的不同情况、图形显示情况为:
1)缓冲帧生产后,立即进行合成;
2)缓冲帧生产后,闲置一段时间再进行合成;
3)缓冲帧生产过程中,开始合成,即缓冲帧未生产完成时开始合成,则缓冲帧就无法起到作用。
如图8所示,本发明实施例还示出了上述步骤S204的一种实现方式,用于分辨上述的映射关系,从而检测出是否存在画面丢帧,其中,若存在画面丢帧,则触发预设的画面丢帧事件,触发画面丢帧事件后,将对缓冲帧的生产合成进行调整。图8中,S204包括但不限于以下步骤:
S2041、获取映射关系中缓冲帧的初始合成时间点与缓冲帧的生产时间点;
S2042、若当前缓冲帧的生产时间点与上一缓冲帧的初始合成时间点之间的时间差大于预设范围值,则触发画面丢帧事件;
S2043、若当前缓冲帧的生产时间点与上一缓冲帧的初始合成时间点之间的时间差小于预设范围值,则不触发画面丢帧事件。
可见,上述的步骤S2042对应了上述第3种映射关系,步骤S2043对应了上述第1或2种映射关系。
在具体应用中,当前缓冲帧的生产时间点与上一缓冲帧的初始合成时间点之间具有时间差,上述的时间差的预设范围值可以缓冲帧的时间长度以及画面间隔为标准。
在一个实施例中,预设范围值为画面间隔与缓冲帧的时间长度之差,那么,若时间差大于画面间隔与缓冲帧的时间长度之差,则触发画面丢帧事件;若时间差小于画面间隔与缓冲帧的时间长度之差,则不触发画面丢帧事件。
S205、若检测到所述画面丢帧事件,则调整所述初始合成速率获得第一合成速率,以使所述第一合成速率与所述生产速率同步。
在上述步骤S205中,第一合成速率和生产速率同步以后,使得缓冲帧的生产与合成达到较为均衡的状态,从而避免了帧率无法跑满或帧率不稳定的情况,提高画面显示的流畅性和应用响应的及时性,对于游戏应用来讲,不仅提升游戏的帧率表现,平滑显示,提升用户体验,并且,对于游戏帧率的大幅度波动还具有抑制作用,一定程度上减少终端设备的功耗。
如图9所示,本发明实施例还提出了上述步骤S205的一种实现方式,实现第一合成速率与生产速率的同步,S205包括但不限于以下步骤:
S2051、根据缓冲帧的初始合成时间点与缓冲帧的生产时间点计算所述缓冲帧的时间长度;
S2052、以所述缓冲帧的生产时间点作为起点,以所述缓冲帧的时间长度为度量,在所述预设时间内设置缓冲帧的第一合成时间点;
S2053、根据所述第一合成时间点则调整所述初始合成速率获得第一合成速率。
在上述步骤S2051中,根据缓冲帧的生产时间点和缓冲帧的时间长度重新布置了缓冲帧的生产合成时机,则调整后的第一合成速率和生产速率同步。
在上述步骤S2052中,缓冲帧的每个生产时间点所对应的缓冲帧的时间长度不一定都相同,那么,获得的第一合成时间点不一定均匀排列,且第一合成速率不一定是固定的。因此,上述的根据第一合成时间点则调整初始合成速率获得第一合成速率中的调整为动态调整。
如图10所示,本发明实施例还以上述图7为比对对象,示出了调整后的第一合成速率和生产速率之间的关系,图10上半部分为图7,可见其中具有画面丢帧的情况,因此会触发画面丢帧事件,图10的下半部分是根据调整后获得的第一合成速率和生产速率得到的。
在图10中,点虚线表示调整之后的合成时机,由第一合成速率计算获得,虚线表示原本的合成时机,由初始合成速率计算获得,矩形表示缓冲帧,从图10可见,调整后的缓冲帧的合成生产是同步的,不具有画面丢帧的现象,且缓冲帧的生产和生产达到较为均衡的状态。
在具体应用中,调整之后的第一合成速率还会由于外界原因,如平台或者用户的使用习惯变化,使得第一合成速率与生产速率不同步,则在实际应用中,应重复执行上述步骤S202至步骤S205。
本发明实施例提供的平滑画面帧率表现方法,根据缓冲帧的合成速率和生产速率制定预设时间内的映射关系,通过映射关系发现缓冲帧的合成与生产不匹配所造成的画面丢帧事件,并根据缓冲帧的生产速率调整缓冲帧的合成速率,使得缓冲帧的生产与合成达到较为均衡的状态,避免帧率无法跑满或帧率不稳定的情况,从而提高画面显示的流畅性和应用响应的及时性。
实施例二
如图11所示,本发明实施例示出了一种的平滑画面帧率表现方法,包括步骤S301至步骤S306,其中,步骤S301至步骤S304与上述实施例一中的步骤S201至步骤S204相同,本发明实施例中不再赘述,步骤S305和步骤S306如下:
S305、若未检测到所述画面丢帧事件,则利用所述映射关系检测所述预设时间内的画面待优化事件;
S306、检测到所述画面待优化事件时,调整所述画面帧间隔获得第二合成速率,以使所述第二合成速率与所述生产速率匹配。
在步骤S301至步骤S304中,存在未检测到画面丢帧事件的可能,如图5和图6中所示出的两种情况,而如图6所示出的缓冲帧的合成生产情况中,显然缓冲帧的生产速率一直比合成要快,对于画面显示效果来说,显然缓冲帧的生产速率一直比合成快虽然不会出现画面丢帧,但会影响画面的流畅度,因此,在这种情况下也具有画面优化的必要。
如图12所示,本发明实施例还示出了上述步骤S305的一种实现方式,表示检测画面待优化事件的详细实现流程,S305可以包括但不限于以下步骤:
S3051、获取映射关系中缓冲帧的初始合成时间点与缓冲帧的生产时间点;
S3052、若当前缓冲帧的生产时间点与当前缓冲帧的初始合成时间点之间的时间差大于预设范围值,则触发画面待优化事件;
S3053、若当前缓冲帧的生产时间点与当前缓冲帧的初始合成时间点之间的时间差小于预设范围值,则不触发画面待优化事件。
在上述步骤S3051至步骤S3053中,当前缓冲帧的生产时间点与当前缓冲帧的初始合成时间点之间具有时间差,上述的时间差的预设范围值可以根据时间差在画面间隔中的占比确定。
在一个实施例中,预设范围值根据时间差在画面间隔的占比为1/2为标准,则若时间差大于1/2的画面间隔,则触发画面待优化事件;若时间差小于1/2的画面间隔,则不触发画面待优化事件。
如图13所示,本发明实施例还示出了上述步骤S306的一种实现方式,表示检测到画面待优化事件后,即触发画面待优化事件时,调整缓冲帧的生产合成的详细实现流程,S306可以包括但不限于以下步骤:
S3061、根据缓冲帧的初始合成时间点与缓冲帧的生产时间点计算所述缓冲帧的时间长度;
S3062、减小所述画面帧间隔;其中,所述减小后的画面帧间隔大于所述时间长度;
S3063、根据所述减小后的画面帧间隔获得所述第二合成速率。
在上述步骤S3061至步骤S3063中,由于缓冲帧的生产速率一直比合成要快,因此可以在保证不丢帧的基础上逐步增加合成速率,保证合成生产的速率和游戏生产的速率一致性,从而实现帧率的智能跟踪调节。
实施例三
如图14所示,本发明实施例提供一种平滑画面帧率表现装置40,包括:
初始合成速率获取模块41,用于根据当前画面的画面间隔,确定得到当前画面时所采用的合成速率,将合成速率作为缓冲帧的初始合成速率。
在本发明实施例中,当前画面可以为应用投射在终端设备屏幕上的画面,用户通过设置,可以确定应用在屏幕上显示画面的帧率,如60帧、120帧等,帧率表示了画面间隔,如帧率为30帧时,画面间隔为33ms,两幅画面显示间隔较大;帧率为60帧时,画面间隔为16.6ms,两幅画面显示间隔较小。
在具体应用中,画面间隔为图形生产和合成的基本时间单元,那么,由画面间隔还可得到当前画面时所采用的合成速率,画面替换的每次间隔,即为缓冲帧的合成时机。如帧率为30帧时,画面间隔为33ms,合成的触发时机就是每33ms去检查是否有缓冲帧,如果有才进行生产,并合成显示画面。
在具体应用中,由于屏幕上显示画面的帧率,或者说当前画面的画面间隔实际上是预先设置并确定的,因此,未进行平滑画面帧率的调整前的缓冲帧合成速率也是由画面间隔确定的,即本发明实施例中的初始合成速率。
生产速率检测模块42,用于检测预设时间内缓冲帧的生产速率。
在本发明实施例中,预设时间是进行检测时,对当前画面的缓冲帧生产合成情况进行采样所设置的时间段,若由预设时间内的缓冲帧数据检测到相关事件,则将触发相关事件的调整方法,那么,预设时间内的缓冲帧数据将进行调整后再进行生产合成,最后显示到屏幕上。
映射关系获取模块43,用于获取初始合成速率和生产速率在预设时间内的映射关系。
在本发明实施例中,缓冲帧的合成速率和生产速率是相互关联的,两者之间的映射关系主要由与缓冲帧的合成时间点和生产时间点确定。
在具体应用中,时序图可以根据时间顺序显示多个对象之间的动态协作,则在一个实施例中,还可使用时序图表现上述映射关系的获取。
画面丢帧事件检测模块44,用于根据映射关系检测画面丢帧事件。
在本发明实施例中,缓冲帧的合成速率和生产速率是相互关联的,其不同的映射关系代表预设时间内缓冲帧合成生产的不同情况,也反映了应用的图形显示情况。
速率同步模块45,用于若检测到画面丢帧事件,调整初始合成速率获得第一合成速率,以使第一合成速率与生产速率同步。
在本发明实施例中,第一合成速率和生产速率同步以后,使得缓冲帧的生产与合成达到较为均衡的状态,从而避免了帧率无法跑满或帧率不稳定的情况,提高画面显示的流畅性和应用响应的及时性,对于游戏应用来讲,不仅提升游戏的帧率表现,平滑显示,提升用户体验,并且,对于游戏帧率的大幅度波动还具有抑制作用,一定程度上减少终端设备的功耗。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (11)
1.一种平滑画面帧率表现方法,其特征在于,包括:
根据当前画面的画面间隔,确定得到所述当前画面时所采用的合成速率,将所述合成速率作为缓冲帧的初始合成速率;
检测预设时间内所述缓冲帧的生产速率;
获取所述初始合成速率和所述生产速率在所述预设时间内的映射关系;
若映射关系中当前缓冲帧的生产时间点与上一缓冲帧的初始合成时间点之间的时间差大于预设范围值,则触发画面丢帧事件;所述预设范围值根据缓冲帧的时间长度以及画面间隔确定;
若检测到所述画面丢帧事件,则调整所述初始合成速率获得第一合成速率,以使所述第一合成速率与所述生产速率同步。
2.如权利要求1所述的平滑画面帧率表现方法,其特征在于,所述检测预设时间内所述缓冲帧的生产速率,包括:
将所述预设时间划分为N个观察周期,获取每个观察周期中所述缓冲帧的生产速率,其中,N为正整数;
获取第m个观察周期中所述缓冲帧的生产速率;
利用第m个生产速率,及第m-1个加权速率,及预设的权重分配比例进行加权计算,得到第m个加权速率,所述m的初始值为2,第1个加权速率为第1个观察周期的生产速率;令m=m+1,返回执行所述获取第m个观察周期中所述缓冲帧的生产速率,直至m=N时,将得到的加权速率作为所述预设时间内所述缓冲帧的生产速率。
3.如权利要求1所述的平滑画面帧率表现方法,其特征在于,获取所述初始合成速率和所述生产速率在所述预设时间内的映射关系,包括:
根据所述初始合成速率获取所述预设时间内所述缓冲帧的初始合成时间点;
根据所述生产速率获取所述预设时间内所述缓冲帧的生产时间点;
根据所述初始合成时间点和所述生产时间点计算所述初始合成速率和所述生产速率在所述预设时间内的映射关系。
4.如权利要求1所述的平滑画面帧率表现方法,其特征在于,所述方法还包括:
若当前缓冲帧的生产时间点与上一缓冲帧的初始合成时间点之间的时间差小于预设范围值,则不触发画面丢帧事件。
5.如权利要求1至4任一项所述的平滑画面帧率表现方法,其特征在于,
若检测到所述画面丢帧事件,则调整所述初始合成速率获得第一合成速率,以使所述第一合成速率与所述生产速率同步,包括:
根据缓冲帧的初始合成时间点与缓冲帧的生产时间点计算所述缓冲帧的时间长度;
以所述缓冲帧的生产时间点作为起点,以所述缓冲帧的时间长度为度量,在所述预设时间内设置缓冲帧的第一合成时间点;
根据所述第一合成时间点则调整所述初始合成速率获得第一合成速率。
6.如权利要求1所述的平滑画面帧率表现方法,其特征在于,所述根据所述映射关系检测画面丢帧事件之后,包括:
若未检测到所述画面丢帧事件,则利用所述映射关系检测所述预设时间内的画面待优化事件;
检测到所述画面待优化事件时,调整所述画面帧间隔获得第二合成速率,以使所述第二合成速率与所述生产速率匹配。
7.如权利要求6所述的平滑画面帧率表现方法,其特征在于,利用所述映射关系检测所述预设时间内的画面待优化事件,包括:
获取映射关系中缓冲帧的初始合成时间点与缓冲帧的生产时间点;
若当前缓冲帧的生产时间点与当前缓冲帧的初始合成时间点之间的时间差大于预设范围值,则触发画面待优化事件;
若当前缓冲帧的生产时间点与当前缓冲帧的初始合成时间点之间的时间差小于预设范围值,则不触发画面待优化事件。
8.如权利要求6所述的平滑画面帧率表现方法,其特征在于,检测到所述画面待优化事件时,调整所述画面帧间隔获得第二合成速率,以使所述第二合成速率适应所述生产速率,包括:
根据缓冲帧的初始合成时间点与缓冲帧的生产时间点计算所述缓冲帧的时间长度;
减小所述画面帧间隔,所述减小后的画面帧间隔大于所述时间长度;
根据所述减小后的画面帧间隔获得所述第二合成速率。
9.一种平滑画面帧率表现装置,其特征在于,包括:
初始合成速率获取模块,用于根据当前画面的画面间隔,确定得到所述当前画面时所采用的合成速率,将所述合成速率作为缓冲帧的初始合成速率;
生产速率检测模块,用于检测预设时间内所述缓冲帧的生产速率;
映射关系获取模块,用于获取所述初始合成速率和所述生产速率在所述预设时间内的映射关系;
画面丢帧事件检测模块,用于若映射关系中当前缓冲帧的生产时间点与上一缓冲帧的初始合成时间点之间的时间差大于预设范围值,则触发画面丢帧事件;所述预设范围值根据缓冲帧的时间长度以及画面间隔确定;
速率同步模块,用于若检测到所述画面丢帧事件,则调整所述初始合成速率获得第一合成速率,以使所述第一合成速率与所述生产速率同步。
10.一种终端设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1至8任一项所述的平滑画面帧率表现方法中的各个步骤。
11.一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求1至8任一项所述的平滑画面帧率表现方法中的各个步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910948241.1A CN110618801B (zh) | 2019-10-08 | 2019-10-08 | 平滑画面帧率表现方法、装置、终端设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910948241.1A CN110618801B (zh) | 2019-10-08 | 2019-10-08 | 平滑画面帧率表现方法、装置、终端设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110618801A CN110618801A (zh) | 2019-12-27 |
CN110618801B true CN110618801B (zh) | 2023-07-18 |
Family
ID=68925343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910948241.1A Active CN110618801B (zh) | 2019-10-08 | 2019-10-08 | 平滑画面帧率表现方法、装置、终端设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110618801B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111159042A (zh) * | 2019-12-31 | 2020-05-15 | 可牛网络技术(北京)有限公司 | 一种流畅度测试方法、装置及电子设备 |
CN113407138B (zh) * | 2021-06-30 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 应用程序的画面处理方法、装置、电子设备及存储介质 |
CN113630572B (zh) * | 2021-07-09 | 2022-10-14 | 荣耀终端有限公司 | 帧率切换方法和相关装置 |
CN115190325B (zh) * | 2022-07-01 | 2023-09-05 | 广州市百果园信息技术有限公司 | 丢帧控制方法、装置、设备、存储介质及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657681A (zh) * | 2017-03-10 | 2017-05-10 | 广东欧珀移动通信有限公司 | 一种移动终端刷新率的控制方法、装置及移动终端 |
CN108810281A (zh) * | 2018-06-22 | 2018-11-13 | Oppo广东移动通信有限公司 | 丢帧补偿方法、装置、存储介质及终端 |
CN109104638A (zh) * | 2018-08-03 | 2018-12-28 | Oppo广东移动通信有限公司 | 帧率优化方法、装置、终端及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6304297B1 (en) * | 1998-07-21 | 2001-10-16 | Ati Technologies, Inc. | Method and apparatus for manipulating display of update rate |
US7450130B2 (en) * | 2005-09-14 | 2008-11-11 | Microsoft Corporation | Adaptive scheduling to maintain smooth frame rate |
CN104144312B (zh) * | 2013-05-09 | 2018-06-05 | 腾讯科技(深圳)有限公司 | 一种视频处理方法和相关装置 |
CN106919358B (zh) * | 2017-03-10 | 2021-03-09 | Oppo广东移动通信有限公司 | 一种移动终端的显示控制方法、装置及移动终端 |
CN108073485A (zh) * | 2017-12-22 | 2018-05-25 | 珠海市君天电子科技有限公司 | 终端屏幕流畅度测试方法、装置及设备 |
CN109189543A (zh) * | 2018-10-16 | 2019-01-11 | Oppo广东移动通信有限公司 | 终端控制方法、装置、存储介质及智能终端 |
-
2019
- 2019-10-08 CN CN201910948241.1A patent/CN110618801B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657681A (zh) * | 2017-03-10 | 2017-05-10 | 广东欧珀移动通信有限公司 | 一种移动终端刷新率的控制方法、装置及移动终端 |
CN108810281A (zh) * | 2018-06-22 | 2018-11-13 | Oppo广东移动通信有限公司 | 丢帧补偿方法、装置、存储介质及终端 |
CN109104638A (zh) * | 2018-08-03 | 2018-12-28 | Oppo广东移动通信有限公司 | 帧率优化方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110618801A (zh) | 2019-12-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110618801B (zh) | 平滑画面帧率表现方法、装置、终端设备及存储介质 | |
CN110609645B (zh) | 一种基于垂直同步信号的控制方法及电子设备 | |
CN109525707B (zh) | 一种音频播放方法、移动终端及计算机可读存储介质 | |
CN110166192B (zh) | 小区处理方法、终端设备及网络设备 | |
US10659587B2 (en) | Incoming call management method and apparatus | |
WO2019076171A1 (zh) | 非授权频段下的信息传输方法、终端及网络设备 | |
CN108347529B (zh) | 一种音频播放方法及移动终端 | |
CN115631258A (zh) | 一种图像处理方法及电子设备 | |
CN114338952A (zh) | 一种基于垂直同步信号的图像处理方法及电子设备 | |
CN108810860B (zh) | 一种音频传输方法、终端设备及主耳机 | |
CN107395883A (zh) | 语音信号调节方法、通信终端及计算机可读存储介质 | |
CN111182236A (zh) | 一种图像合成方法、装置、存储介质及终端设备 | |
CN112351326A (zh) | 一种基于垂直同步信号的图像处理方法及电子设备 | |
CN109951400A (zh) | 终端的指令发送方法、装置、电子设备及可读存储介质 | |
CN114189839A (zh) | 非同步上行传输方法、终端及网络设备 | |
CN107203310B (zh) | 睡眠提醒方法、装置及终端 | |
WO2022218196A1 (zh) | 发射功率控制方法及相关设备 | |
CN106294707A (zh) | 一种倒计时提示信息输出方法及装置 | |
CN108363628A (zh) | 消息处理方法、装置、计算机终端和计算机可读存储介质 | |
CN111836266A (zh) | Srs的发送方法、配置方法、终端及网络侧设备 | |
US20220247470A1 (en) | Signal to interference plus noise ratio measurement method and apparatus, device, and medium | |
CN115048221A (zh) | 负载处理方法、装置、电子设备及计算机可读存储介质 | |
CN106354470B (zh) | 按键提示音处理方法、***及终端设备 | |
CN106681670A (zh) | 传感器数据上报方法及装置 | |
CN117135280B (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 |