一种针对虚拟现实应用延迟的系统优化方法和装置的制造方法

文档序号:10553558阅读:399来源:国知局
一种针对虚拟现实应用延迟的系统优化方法和装置的制造方法
【专利摘要】本发明公开了一种针对虚拟现实应用延迟的系统优化方法和装置,其中,该方法包括:步骤A:在虚拟现实应用启动后,根据所述虚拟现实应用提高系统CPU和GPU的主频;步骤B:根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差。本发明通过提高CPU及GPU的主频,以及调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差,而且将三重缓冲器调整为2个,使得对特定的虚拟现实应用能够进行减少延迟处理,提高了虚拟现实应用启动后Android系统的工作效率。
【专利说明】
一种针对虚拟现实应用延迟的系统优化方法和装置
技术领域
[0001]本发明涉及虚拟现实技术领域,具体地,涉及一种针对虚拟现实应用延迟的系统优化方法和装置。
【背景技术】
[0002]虚拟现实的初级应用在这两年已经得到了广大用户的了解和认知,也已经有一些以虚拟现实为背景的应用和游戏的需求。但是由于目前廉价的方案都是基于手机加上一个虚拟现实头盔,里面有一个光学眼镜来实现的,这样实际上所有的应用都是基于手机系统的。
[0003]在Android系统中,由于显示架构的原因,虚拟现实应用程序从开始线条绘制到最终显示画面会有一定的延迟时间,但是对于虚拟显示来说,如果延迟大于20毫秒人就会感到头晕。例如:当观看者的头部转动时,其看到的显示画面应该随着头部的转动角度时刻发生变化,但是由于时间上的延迟,观看者看到的是20毫秒之前的画面,如果头部从左前方转向正前方,那么原本应看到正前方的显示画面,却只能看到20毫秒之前左前方的画面,因此人眼会产生不适,感到头晕。
[0004]现有Android智能手机优化方案中,不会针对虚拟现实应用作单独的优化,只会考虑手机整体的延迟优化。由于现有技术中是整体优化方案,所以无法针对某一个具体的虚拟现实应用作特定优化。

【发明内容】

[0005]为了解决现有技术中无法针对特定的虚拟现实应用的时间延迟进行处理的技术问题,本发明提出了一种针对虚拟现实应用延迟的系统优化方法和装置。
[0006]本发明的一种针对虚拟现实应用延迟的系统优化方法,包括:
[0007]步骤A:在虚拟现实应用启动后,根据所述虚拟现实应用提高系统CPU和GPU的主频;
[0008]步骤B:根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差。
[0009]优选的,还包括步骤C:将所述虚拟现实应用的缓冲器调整为2个。
[0010]优选的,所述步骤A具体包括:
[0011]在虚拟现实应用启动后,提高系统CPU和GPU的主频,以使得线条绘制所需时间与图层画面合成所需时间之和小于或等于两次垂直同步脉冲VSYNC的间隔时间。
[0012]优选的,所述步骤B具体包括:
[0013]在一次垂直同步脉冲VSYNC到来且线条绘制完成之后,将图层画面合成的开始时间提前,以使得所述图层画面合成的结束时间在下一次垂直同步脉冲VSYNC到来之前。
[0014]优选的,所述两次垂直同步脉冲VSYNC的间隔时间为刷新率的倒数。
[0015]本发明的针对虚拟现实应用延迟的系统优化方法,通过提高CPU及GPU的主频,以及调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差,而且将三重缓冲器调整为2个,使得对特定的虚拟现实应用能够进行减少延迟处理,从而实现对虚拟现实应用中的延迟进行优化和控制,提高了虚拟现实应用启动后Android系统的工作效率,优化了用户体验。
[0016]本发明的一种针对虚拟现实应用延迟的系统优化装置,包括:
[0017]主频调整模块,用于在虚拟现实应用启动后,根据所述虚拟现实应用提高系统CPU和GPU的主频;
[0018]时间差调整模块,用于根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差。
[0019]优选的,还包括:缓冲器调整模块,用于将所述虚拟现实应用的缓冲器调整为2个。
[0020]优选的,所述主频调整模块具体用于,
[0021]在虚拟现实应用启动后,提高系统CPU和GPU的主频,以使得线条绘制所需时间与图层画面合成所需时间之和小于或等于两次垂直同步脉冲VSYNC的间隔时间。
[0022]优选的,所述时间差调整模块具体用于
[0023]在一次垂直同步脉冲VSYNC到来且线条绘制完成之后,将图层画面合成的开始时间提前,以使得所述图层画面合成的结束时间在下一次垂直同步脉冲VSYNC到来之前。
[0024]优选的,所述两次垂直同步脉冲VSYNC的间隔时间为刷新率的倒数。
[0025]本发明的针对虚拟现实应用延迟的系统优化装置,通过提高CPU及GPU的主频,以及调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差,而且将三重缓冲器调整为2个,使得对特定的虚拟现实应用能够进行减少延迟处理,从而实现对虚拟现实应用中的延迟进行优化和控制,提高了虚拟现实应用启动后Android系统的工作效率,优化了用户体验。
[0026]本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
[0027]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
【附图说明】
[0028]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0029]图1为本发明中从线条绘制到画面显示的原理示意图;
[0030]图2为本发明实施例一的工作流程图;
[0031 ]图3为本发明实施例二的装置结构图。
[0032]结合附图在其上标记以下附图标记:
[0033]1-应用程序开始绘制线条,2-合成各个图层的画面,3-进行画面显示。
【具体实施方式】
[0034]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035]为了解决现有技术中无法针对特定的虚拟现实应用的时间延迟进行处理的技术问题,本发明提出了一种针对虚拟现实应用延迟的系统优化方法和装置。
[0036]Android系统中为了提高流畅度从4.1的版本开始引入了三重缓冲机制和VSYNC(Vertical synchronizat1n,垂直同步脉冲是加在两帧之间,它指示着前一帧的结束,和新一帧的开始。垂直同步脉冲是一个持续时间比较长的脉冲,可能持续一行或几行的扫描时间,但在这段时间内,没有像素信号出现)机制。两种机制配合可以提高Android系统手机的流畅度,但是也带来了其他的问题,也就是3个缓冲会增加时间延迟,并且Android本身的显示系统架构也会造成时间延迟。
[0037]如图1所示,一个虚拟现实应用程序从开始绘制线条(即图1中的标记I处)到Android的画面投递服务合成各个图层(即图1中的标记2处,图层即为每一个能够单独作用的功能模块,如:文件夹、时间显示等)的画面,最后进行画面显示(即图1中的标记3处),至少要2个VSYNC的时间(本发明以刷新率为60为例,I个VSYNC的时间即为刷新率的倒数16.67毫秒)才能显示出来。并且是在3个缓冲区没有写满的情况下,如果3个缓冲区中一个在显示,其余2个又都绘制完成等待排队,那么延迟会更久。
[0038]如果能够在I个VSYNC的时间内就能够完成线条绘制和图层画面合成,那么至少减少了 I个VSYNC时间的延迟;如果能将3个缓冲器减少为2个,那么可以减少一个缓冲区内绘制内容的延迟。所以本发明的技术方案中,给专用虚拟现实应用提频,为虚拟现实应用单独调整Android系统画面投递服务的VSYNC和硬件VSYNC的时间差,最后给虚拟现实应用调整成2个缓冲。
[0039]本发明采用的主要技术手段,是将线条绘制和图层画面合成两个步骤合并到一个VSYNC的时间之内完成,从而至少节省一个VSYNC的时间,因此,需要满足两个条件:1、线条绘制所需时间和图层画面合成所需时间之和要小于或等于I个VSYNC的时间;2、由于线条绘制完成后,可能无法立即进行图层画面合成,因此,必须在满足条件I的基础上,将图层画面合成的结束时间提前到下一次VSYNC到来之前。
[0040]实施例一
[0041]如图2所示,本发明的一种针对虚拟现实应用延迟的系统优化方法,包括以下步骤:
[0042]步骤S201:在虚拟现实应用启动后,根据所述虚拟现实应用提高系统CPU和GPU的主频;即提供一种专有服务程序为虚拟现实应用提供CPU、GPU主频和调频策略的修改,可以在虚拟现实应用启动后提高系统的CPU、GPU主频并保持该主频。
[0043]具体的,在虚拟现实应用启动后,提高系统CPU和GPU的主频,以使得线条绘制所需时间与图层画面合成所需时间之和小于或等于两次垂直同步脉冲VSYNC的间隔时间;优选的,所述两次垂直同步脉冲VSYNC的间隔时间为刷新率(刷新率是指电子束对屏幕上的图像重复扫描的次数,刷新率越高,所显示的图象/画面稳定性就越好)的倒数。
[0044]提高CPU和GPU主频的操作在某种情况下也可能单独对虚拟现实应用延迟进行缓解,如线条绘制所需时间本身大于I个VSYNC的时间,那么从线条绘制开始,经过一个VSYNC的时间,还在继续绘制,直至绘制完成后,下一次VSYNC到来,图层画面合成方才开始,中间至少需要经过2个VSYNC的时间。如果能够提高CPU和GPU的主频,使得线条绘制所需时间小于或等于I个VSYNC的时间,那么从线条绘制开始到图层画面合成开始,只需要I个VSYNC的时间,从而缓解了虚拟现实应用的时间延迟。但是在现有技术中,线条绘制和图层画面合成通常所需时间均小于一个VSYNC的时间,因此,单独执行步骤S201无法解决现有技术的时间延迟问题。
[0045]步骤S201的作用是从线条绘制开始计算,在一个VSYNC的时间内就能够完成线条绘制和图层画面,而不需要等到下一个VSYNC到来之后,才能进行图层画面合成。显而易见的,这与现有技术相比,节省了一个VSYNC的时间。
[0046]如图1所示,在现有技术中,假设标记I所示的线条绘制本身需要8毫秒,标记2所示的图层画面合成需要9毫秒,那么在线条绘制完成之后,等到16.67毫秒时刻下一次VSYNC到来时,才进行标记2所示的图层画面合成操作。而根据步骤S201的方案,在提升CPU和GPU的主频之后,假设线条绘制只需要4毫秒的时间,图层画面合成只需要5毫秒的时间,那么从标记I所示的线条绘制开始计算,在一个VSYNC的时间内,就可能完成线条绘制和图层画面合成。
[0047]步骤S202:根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差;
[0048]具体的,在一次垂直同步脉冲VSYNC到来且线条绘制完成之后,将图层画面合成的开始时间提前,以使得所述图层画面合成的结束时间在下一次垂直同步脉冲VSYNC到来之
、广.刖。
[0049]在步骤S201中,通过提高CPU和GPU的主频,使得虚拟现实应用进行线条绘制和图层画面合成所需时间之和小于一个VSYNC的时间,为解决虚拟现实应用的时间延迟奠定了基础。但是,仅通过上述提高CPU和GPU主频的方法,使得线条绘制和图层画面合成所需时间之和小于I个VSYNC的时间,可能存在以下问题:从标记I所示的线条绘制开始,4毫秒时刻完成绘制,在14毫秒时刻开始图层画面合成,在下一次VSYNC到来时(S卩16.67毫秒时刻),图层画面合成并未结束继续合成,当再下一次VSYNC到来时(S卩16.67 X 2毫秒时刻)才能进行画面显示,这样依然需要2个VSYNC的时间,才能够进行最终的画面显示。
[0050]因此,本发明还需要执行步骤S202,与步骤S201—起解决现有技术中虚拟现实的时间延迟问题。在将线条绘制与图层画面合成所需时间之和控制在一个VSYNC时间之内后,还需要满足在下一次VSYNC到来之前,完成图层画面合成,即在一次VSYNC到来之后,开始进行线条绘制,绘制完成后,进行图层画面合成,在下一次VSYNC到来之前,完成图层画面合成。
[0051 ] 修改Android系统的画面投递服务器的VSYNC和真正的硬件VSYNC(硬件VSYNC是指显示设备本身的VSYNC)时间差值,是为了 Android系统画面投递服务合成图层画面的时间与虚拟现实应用程序绘制线条的时间错开。但是由于各个虚拟现实应用完成线条绘制的时间不尽相同,所以这个时间差值要修改成多少,只根据虚拟现实应用来做调整,不考虑其他应用,并且是在虚拟现实应用启动后动态生效,防止影响其他应用的延迟时间。
[0052]步骤S203:将所述虚拟现实应用的缓冲器调整为2个。
[0053]调整虚拟现实应用的缓存为2个,是在虚拟现实应用启动后动态调整的,也是为了避免对其他应用造成影响,调整方法可以采用现有技术中任意一种能够调整缓存数量的方法。调整的目的是牺牲流畅度以减少延迟,由于虚拟现实应用和其他应用的差别,它自身会严格控制每帧的绘制时间,所以即使2个缓冲器也不太容易带来等待引起的不流畅,所以这样修改可以保证延迟是可控的。
[0054]本领域技术人员应当了解,上述步骤S201-S203仅为说明本发明技术方案的工作过程,其实际执行顺序可以任意设置,实施例一并不构成对本发明保护范围的限制。
[0055]本发明的针对虚拟现实应用延迟的系统优化方法,通过提高CPU及GPU的主频,以及调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差,而且将三重缓冲器调整为2个,使得对特定的虚拟现实应用能够进行减少延迟处理,从而实现对虚拟现实应用中的延迟进行优化和控制,提高了虚拟现实应用启动后Android系统的工作效率,优化了用户体验。
[0056]实施例二
[0057]如图3所示,本发明的一种针对虚拟现实应用延迟的系统优化装置,包括:
[0058]主频调整模块31,用于在虚拟现实应用启动后,根据所述虚拟现实应用提高系统CPU和GPU的主频;
[0059]时间差调整模块32,用于根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差;
[0060]优选的,还包括:缓冲器调整模块33,用于将所述虚拟现实应用的缓冲器调整为2个。
[0061 ]优选的,所述主频调整模块31具体用于,
[0062]在虚拟现实应用启动后,提高系统CPU和GPU的主频,以使得线条绘制所需时间与图层画面合成所需时间之和小于或等于两次垂直同步脉冲VSYNC的间隔时间;
[0063]优选的,所述时间差调整模块32具体用于
[0064]在一次垂直同步脉冲VSYNC到来且线条绘制完成之后,将图层画面合成的开始时间提前,以使得所述图层画面合成的结束时间在下一次垂直同步脉冲VSYNC到来之前。
[0065]优选的,所述两次垂直同步脉冲VSYNC的间隔时间为刷新率的倒数。
[0066]本发明的针对虚拟现实应用延迟的系统优化装置,通过提高CPU及GPU的主频,以及调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差,而且将三重缓冲器调整为2个,使得对特定的虚拟现实应用能够进行减少延迟处理,从而实现对虚拟现实应用中的延迟进行优化和控制,提高了虚拟现实应用启动后Android系统的工作效率,优化了用户体验。
[0067]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0068]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0069]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种针对虚拟现实应用延迟的系统优化方法,其特征在于,包括: 步骤A:在虚拟现实应用启动后,根据所述虚拟现实应用提尚系统CRJ和GRJ的主频; 步骤B:根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差。2.根据权利要求1所述的方法,其特征在于,还包括: 步骤C:将所述虚拟现实应用的缓冲器调整为2个。3.根据权利要求1或2所述的方法,其特征在于,所述步骤A具体包括: 在虚拟现实应用启动后,提高系统CPU和GPU的主频,以使得线条绘制所需时间与图层画面合成所需时间之和小于或等于两次垂直同步脉冲VSYNC的间隔时间。4.根据权利要求1或2所述的方法,其特征在于,所述步骤B具体包括: 在一次垂直同步脉冲VSYNC到来且线条绘制完成之后,将图层画面合成的开始时间提前,以使得所述图层画面合成的结束时间在下一次垂直同步脉冲VSYNC到来之前。5.根据权利要求1或2所述的方法,其特征在于,所述两次垂直同步脉冲VSYNC的间隔时间为刷新率的倒数。6.一种针对虚拟现实应用延迟的系统优化装置,其特征在于,包括: 主频调整模块,用于在虚拟现实应用启动后,根据所述虚拟现实应用提高系统CHJ和GHJ的主频; 时间差调整模块,用于根据所述虚拟现实应用调整Android系统画面投递服务的垂直同步脉冲VSYNC和硬件垂直同步脉冲VSYNC的时间差。7.根据权利要求6所述的装置,其特征在于,还包括: 缓冲器调整模块,用于将所述虚拟现实应用的缓冲器调整为2个。8.根据权利要求6或7所述的装置,其特征在于,所述主频调整模块具体用于, 在虚拟现实应用启动后,提高系统CPU和GPU的主频,以使得线条绘制所需时间与图层画面合成所需时间之和小于或等于两次垂直同步脉冲VSYNC的间隔时间。9.根据权利要求6或7所述的装置,其特征在于,所述时间差调整模块具体用于, 在一次垂直同步脉冲VSYNC到来且线条绘制完成之后,将图层画面合成的开始时间提前,以使得所述图层画面合成的结束时间在下一次垂直同步脉冲VSYNC到来之前。10.根据权利要求6或7所述的装置,其特征在于,所述两次垂直同步脉冲VSYNC的间隔时间为刷新率的倒数。
【文档编号】G06T1/20GK105913371SQ201510788590
【公开日】2016年8月31日
【申请日】2015年11月16日
【发明人】史轩
【申请人】乐视致新电子科技(天津)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1