睡眠管理方法及相关装置制造方法及图纸

技术编号:13992796 阅读:105 留言:0更新日期:2016-11-14 01:18
本发明专利技术实施例提供睡眠管理方法及相关装置,以减少浅睡眠以及状态切换。上述睡眠管理方法应用于一终端,包括:在本帧绘图完成后,准备用于下一帧绘图的绘图缓冲区;在所述绘图缓冲区准备完毕后,预测睡眠延时时间D;在等待所述睡眠延时时间D后,发送结束通知以唤醒处于睡眠状态的所述应用。与现有技术相比,本发明专利技术实施例在下一帧绘图的绘图缓冲区准备完毕后,并不立即发送结束通知,而是预测并等待睡眠延时时间D后,再发送结束通知。这样可将睡眠由浅睡眠推至深睡眠,深睡眠可以使操作系统获得更多的资源与负载释放。同时,减少了睡眠次数,进而可减少状态切换,从而减轻了因频繁状态切换而带来的负担。

【技术实现步骤摘要】

本专利技术涉及控制
,具体涉及睡眠管理方法及相关装置,尤其涉及图形绘制中进行睡眠管理的方法和装置。
技术介绍
很多便携式装置(例如手机、平板电脑等)都有需要进行重画或作帧间切换的场景。以安装有美国谷歌公司(Google Inc.)推出的安卓(Android)操作系统的手机为例,其上的应用(例如游戏)绘制下一帧画面,都叫做重画(invalidate or redraw)。而帧间切换,指的是两次绘图中间的绘图缓冲区切换。在两次绘图中间会产生许多短暂的睡眠,可称为浅睡眠,浅睡眠耗时在数十微秒(micro-second)左右。以游戏应用为例,请参见图1a和图1b,游戏应用先进行第一帧绘图(也即执行第一帧绘图缓冲区的绘制任务),完成后,游戏应用会等待下一帧的绘图缓冲区,以进行第二帧绘图的绘制。在等待操作系统(例如Android、Windows、MacOS等)准备下一个绘图缓冲区的过程中,游戏应用会进入第一次浅睡眠(即图1中的睡眠A)挂起;在准备好下一个绘图缓冲区后,操作系统会发送结束通知,接收到结束通知后,游戏应用从睡眠状态切换到工作状态,进行缓冲区切换(也即正式切换所有的绘制指令到新的缓冲区上,或者称为进行真正的绘制指令目标地切换);在Android操作系统上,一般应用的帧率恒定维持在60fps,游戏应用则会针对场景需求来控制帧率。以恒定帧率60fps为例子,帧与帧之间的时间间隔是(1000/60=16.67ms)。当游戏应用进行缓冲区切换后,所用时间(绘图用时x+睡眠A+缓冲区切换用时E)可能还未达到16.67ms,为了维持帧率,游戏需要进行第二次浅睡眠(即图1中的睡眠B)。在睡眠B结束后,才开始进行第二帧绘图。同理,在第二帧绘图的绘图过程中,也可能会出现两次浅睡眠。因此在现有技术中,每一次绘图过程中至少可能出现两次浅睡眠,经历绘图->第一次浅睡眠->缓冲区切换->第二次浅睡眠,共3次状态切换。假设操作系统忙碌状态不固定,往往会产生许多更小更短暂的浅睡眠,从而会有更多的状态切换。而多次的工作状态/睡眠状态切换会造成操作系统忙碌,并给操作系统带来不必要的负担。这是因为:状态切换意味着操作系统须对应用做特别处理,例如应用进入睡眠,操作系统必须把应用状态做保存以方便下次唤醒可以从睡眠处继续往下执行,操作系统必须整理应用使用的资源例如内存,进行重整或者释放。
技术实现思路
有鉴于此,本专利技术实施例提供睡眠管理方法及相关装置,以减少浅睡眠以及状态切换。为实现上述目的,本专利技术实施例提供如下技术方案:一种睡眠管理方法,所述方法应用于一终端,所述方法包括:在应用完成本帧绘图后,准备用于下一帧绘图的绘图缓冲区;在所述用于下一帧绘图的绘图缓冲区准备完毕后,预测睡眠延时时间;在等待所述睡眠延时时间后,发送结束通知以唤醒处于睡眠状态的所述应用。可选的,所述预测睡眠延时时间包括:根据前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间;其中,n为正整数。可选的,所述根据所述前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间包括:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果作为所述睡眠延时时间。可选的,所述根据所述前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间包括:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果作为所述睡眠延时时间。可选的,所述根据前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间包括:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果H;根据本帧绘图用时x和上一帧缓冲区切换用时E,对所述加权求和结果H进行调整,得到所述睡眠延时时间。可选的,所述根据本帧绘图用时x和上一帧缓冲区切换用时E,对所述加权求和结果H进行调整,得到所述睡眠延时时间包括:判断所述x、E、H和A0之和是否等于T;在判断出所述x、E、H和A0之和不等于T时,调整H的取值,令x、E、H和A0之和等于T,调整后的H为所述睡眠延时时间;其中,所述T表示相邻两帧绘图之间的时间间隔,所述A0表示应用完成本帧绘图时刻至所述下一帧绘图的绘图缓冲区准备完毕时刻之间睡眠的时间。一种睡眠管理装置,所述睡眠管理装置应用于一终端,所述睡眠管理装置包括:准备单元,用于在应用完成本帧绘图后,准备用于下一帧绘图的绘图缓冲区;预测单元,用于在所述准备单元准备完毕后,预测睡眠延时时间;触发单元,用于在等待所述睡眠延时时间后,发送结束通知以唤醒处于睡眠状态的所述应用。可选的,在预测睡眠延时时间的方面,所述预测单元用于:根据前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间;n为正整数。可选的,在所述根据前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间的方面,所述预测单元用于:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果作为所述睡眠延时时间。可选的,在所述根据所述前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间的方面,所述预测单元用于:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果H;根据本帧绘图用时x和上一帧缓冲区切换用时E,对所述加权求和结果H进行调整,得到所述睡眠延时时间。可选的,在根据本帧绘图用时x和上一帧缓冲区切换用时E,对所述加权求和结果H进行调整,得到所述睡眠延时时间的方面,所述预测单元用于:判断所述x、E、H和A0之和是否等于T;在判断出所述x、E、H和A0之和不等于T时,调整H的取值,令x、E、H和A0的和等于T,调整后的H为所述睡眠延时时间;其中,所述T表示相邻两帧绘图之间的时间间隔,所述A0表示应用完成本帧绘图时刻至所述下一帧绘图的绘图缓冲区准备完毕时刻之间睡眠的时间。一种终端,包括上述的睡眠管理装置。与现有技术不同的是,本专利技术实施例在下一帧绘图的绘图缓冲区准备完毕后,并不立即发送结束通知,而是预测并等待睡眠延时时间D后,再发送结束通知。从应用的角度而言,从本帧绘图完成时刻到下一帧绘图的绘图缓冲区准备完毕时刻之间,其一直处于睡眠状态,假定其睡眠时长为A’。之后,从下一帧绘图的绘图缓冲区准备完毕时刻到接收到结束通知时刻之间,应用仍处于睡眠状态(睡眠时长为D)。也即,应用连续睡眠时间为A’+D,从而实现了将短暂睡眠进行合并。因此,本专利技术实施例增加了睡眠时间,可将睡眠由浅睡眠推至深睡眠,而深睡眠可以使操作系统获得更多的资源与负载释放。同时,由于睡眠时间增加则睡眠次数相应减少,进而可减少状态切换,减轻了因频繁状态切换而带来的操作系统忙碍和负担。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1a、1b为现有技术绘图过程示例性流程图;图2a、2b、3a、3b、4和5为本专利技术实施例提供的睡眠管理方法示例性流程图;图6为本专利技术实施例提供的睡眠管理装置的示例性结构图;图7为本专利技术实施例提供的终端的示例性结构图。具体实施方式前述提及,在两次绘图中间会产生许多浅睡眠,比如前述为了达到固定帧率所产生的睡眠B、等待操作系统准备下一个绘图缓冲区的睡眠A,还本文档来自技高网
...

【技术保护点】
一种睡眠管理方法,所述方法应用于一终端,其特征在于,所述方法包括:在应用完成本帧绘图后,准备用于下一帧绘图的绘图缓冲区;在所述用于下一帧绘图的绘图缓冲区准备完毕后,预测睡眠延时时间;在等待所述睡眠延时时间后,发送结束通知以唤醒处于睡眠状态的所述应用。

【技术特征摘要】
1.一种睡眠管理方法,所述方法应用于一终端,其特征在于,所述方法包括:在应用完成本帧绘图后,准备用于下一帧绘图的绘图缓冲区;在所述用于下一帧绘图的绘图缓冲区准备完毕后,预测睡眠延时时间;在等待所述睡眠延时时间后,发送结束通知以唤醒处于睡眠状态的所述应用。2.如权利要求1所述的方法,其特征在于,所述预测睡眠延时时间包括:根据前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间;其中,n为正整数。3.如权利要求2所述的方法,其特征在于,所述根据所述前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间包括:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果作为所述睡眠延时时间。4.如权利要求2所述的方法,其特征在于,所述根据前n帧绘图过程中的浅睡眠时间估算所述睡眠延时时间包括:对所述前n帧绘图过程中的浅睡眠时间进行加权求和,得到的加权求和结果H;根据本帧绘图用时x和上一帧缓冲区切换用时E,对所述加权求和结果H进行调整,得到所述睡眠延时时间。5.如权利要求4所述的方法,其特征在于,所述根据本帧绘图用时x和上一帧缓冲区切换用时E,对所述加权求和结果H进行调整,得到所述睡眠延时时间包括:判断所述x、E、H和A0之和是否等于T;在判断出所述x、E、H和A0之和不等于T时,调整H的取值,令x、E、H和A0之和等于T,调整后的H为所述睡眠延时时间;其中,所述T表示相邻两帧绘图之间的时间间隔,所述A0表示应用完成本帧绘图时刻至所述下一帧绘图的绘图缓冲区准备完毕时刻之间睡眠的时间。6.一种睡眠管理装置,所述睡眠管理装置应用于一终端,其特征在于,所述睡眠管理装置包括:准备单元,用...

【专利技术属性】
技术研发人员:张文彦白宗正
申请(专利权)人:深圳市万普拉斯科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1