CN106970875A - 虚拟现实软件的帧率测试方法及其系统 - Google Patents
虚拟现实软件的帧率测试方法及其系统 Download PDFInfo
- Publication number
- CN106970875A CN106970875A CN201710116999.XA CN201710116999A CN106970875A CN 106970875 A CN106970875 A CN 106970875A CN 201710116999 A CN201710116999 A CN 201710116999A CN 106970875 A CN106970875 A CN 106970875A
- Authority
- CN
- China
- Prior art keywords
- frame
- renewal
- frame per
- time
- per
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种虚拟现实软件的帧率测试方法及其系统,方法包括:根据预设的数据采集次数,获取对应数量的帧;根据预设的图形渲染速率,依次对所述帧进行更新;根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;根据所述帧率以及所述数据采集次数,计算得到帧率平均值;将帧率平均值与帧率标准均值进行比对。本发明可计算得到帧率,并可通过将其与标准均值进行比对,从而得知虚拟现实软件是否符合标准规范。
Description
技术领域
本发明涉及虚拟现实技术领域,尤其涉及一种虚拟现实软件的帧率测试方法及其系统。
背景技术
随着虚拟现实技术的发展,越来越多的虚拟现实软件出现在人们的生活中。作为虚拟现实软件,沉浸感一直是用户体验的核心。目前,制约用户感官体验的最大因素就是晕动症,而造成晕动症的最直接原因就是虚拟现实软件的平均运行帧率无法满足规定标准,从而引发了软件延迟。目前虚拟现实软件测试领域缺少对于软件帧率的测试方案。
目前,在Unity3D引擎中,基于底层源代码,实现了对渲染数据的实时统计,该统计数据剔除了Editor模式中的额外开销,仅仅包含摄像机视锥体截面视图的实时渲染数据,即实际数据反映了在生成exe文件或者包文件时,软件在运行时的真实渲染情况。
具体地,在Unity3D引擎的游戏视图(GameView)窗口,点击右上方的状态(Stats)按钮,即可显示一个重叠视窗与实时渲染统计数据。统计的数据根据构建目标的不同而显示不同的内容。对于以测试帧率为构建目标的情况,统计数据则包括每帧的时间和FPS(Frames Per Second,每秒传输帧数)。每帧的时间即处理和渲染一个应用框架(以及由此产生的FPS)的耗时。FPS计算时统计的帧数数量,只包括摄像机视锥体截面视图更新和渲染的帧,不包括在编辑器中绘制场景视图,检视窗口和其他仅编辑器进程的时间。
但上述方案存在下述缺点:
缺点1:引擎没有提供渲染数据统计窗口的对外数据接口,无法从编辑器或者引擎外部调用渲染数据统计窗口中的数据信息。
缺点2:测试人员只有在白盒测试时,才能查看软件帧率相关信息,而大部分企业无法提供测试人员软件的源代码。导致在黑盒测试时,测试人员无法进行软件的帧率测试。
缺点3:引擎的渲染数据统计窗口提供的帧率数据是视图渲染的实时数据,但是,想要衡量一个虚拟现实软件的运行帧率是否符合标准规范,需要通过软件运行的平均帧率进行衡量,才能更加精准的对软件质量进行合理的评估。并且,测试过程中无法自动对数据进行汇总计算,收集有用的测试数据用于数据分析,并生成测试报表。
发明内容
本发明所要解决的技术问题是:提出一种虚拟现实软件的帧率测试方法及其系统,可对虚拟现实软件的帧率进行检测。
为了解决上述技术问题,本发明采用的技术方案为:一种虚拟现实软件的帧率测试方法,包括:
根据预设的数据采集次数,获取对应数量的帧;
根据预设的图形渲染速率,依次对所述帧进行更新;
根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
将帧率平均值与帧率标准均值进行比对。
本发明还涉及一种虚拟现实软件的帧率测试系统,包括:
第一获取模块,用于根据预设的数据采集次数,获取对应数量的帧;
更新模块,用于根据预设的图形渲染速率,依次对所述帧进行更新;
第一计算模块,用于根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
第二计算模块,用于根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
比对模块,用于将帧率平均值与帧率标准均值进行比对。
本发明的有益效果在于:根据两个帧之间的帧数增量以及两个帧之间的更新间隔时间,即可计算出两个帧中较后的帧的帧率,由此即可计算出各个帧的帧率,然后根据所计算出的各个帧的帧率以及总的测试帧数,计算出帧率平均值,将帧率平均值与帧率标准均值进行比对,即可得知虚拟现实软件的帧率是否符合标准。
附图说明
图1为本发明实施例一的方法流程图;
图2为本发明实施例二的方法流程图;
图3为本发明实施例三的方法流程图;
图4为本发明一种虚拟现实软件的帧率测试系统的结构示意图;
图5为实施例五的系统结构示意图。
标号说明:
1、第一获取模块;2、更新模块;3、第一计算模块;4、第二计算模块;
5、比对模块;6、第一构建模块;7、第二构建模块;8、第一发送模块;
9、建立模块;10、第二发送模块;11、存储模块;12、返回模块;
31、第一获取单元;32、第二获取单元;33、第一计算单元;34、第二计算单元;35、第三获取单元;36、第四获取单元;37、第三计算单元;38、第四计算单元;
51、第五获取单元;52、比对单元;53、生成单元。
具体实施方式
为详细说明本发明的技术内容、所实现目的及效果,以下结合实施方式并配合附图详予说明。
本发明最关键的构思在于:根据帧数增量与帧更新的更新间隔时间,计算帧的帧率。
名词解释:
帧率:是用于测量显示帧数的量度,其测量单位为每秒显示的帧数Frames perSecond,简称FPS或者赫兹(Hz)。
请参阅图1,一种虚拟现实软件的帧率测试方法,包括:
根据预设的数据采集次数,获取对应数量的帧;
根据预设的图形渲染速率,依次对所述帧进行更新;
根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
将帧率平均值与帧率标准均值进行比对。
从上述描述可知,本发明的有益效果在于:通过计算出各帧的帧率,后续将帧率与标准值进行比对即可得知帧率是否符合标准。
进一步地,所述“根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率”具体为:
获取所述更新的过程的更新初始时间,同时获取获取所述更新初始时间的第一时间损耗;
获取所述帧中第一帧的更新开始时间,同时获取获取所述更新开始时间的第二时间损耗;
根据所述更新初始时间与第一帧的更新开始时间,计算得到第一帧更新的更新时间间隔;
根据所述第一帧更新的更新时间间隔、第一时间损耗和第二时间损耗,计算得到第一帧的帧率;
获取上一帧的更新完成时间,同时获取获取所述更新完成时间的第三时间损耗;
获取当前帧的更新开始时间,同时获取获取所述更新开始时间的第四时间损耗;
根据所述更新完成时间和更新开始时间,计算得到当前帧更新的更新时间间隔;
根据当前帧相对上一帧的帧数增量、所述更新时间间隔、第三时间损耗和第四时间损耗,计算得到当前帧的帧率。
由上述描述可知,在帧率的计算中引入获取时间的动作的时间损耗,提高帧率计算的准确性。
进一步地,所述“根据预设的数据采集次数,获取对应数量的帧”之前,进一步包括:
在虚拟现实软件中构建服务端,并创建服务端套接字;
在外部的测试框架中构建客户端,并创建客户端套接字;
客户端根据所述服务端的IP地址和端口号,向服务端发送连接请求;
服务端接收所述连接请求后,建立与客户端的通信连接;
客户端发送帧率测试请求至服务端,所述帧率测试请求的数据包括预设的数据采集次数和预设的图形渲染速率。
进一步地,所述“计算得到所述帧中各帧的帧率”之后,进一步包括:
将所述各帧的帧率存储至数据列表中;
服务端将所述数据列表返回至客户端。
由上述描述可知,通过创建服务端和客户端实现测试参数和测试结果的交互,最终测试结果可保存在客户端中,后续可被其他终端或软件进行调用。
进一步地,所述“将帧率平均值与帧率标准均值进行比对”具体为:
获取帧率标准均值;
分别将所述帧率、帧率平均值与所述帧率标准均值进行比对,得到比对结果;
根据所述比对结果,生成测试报表。
由上述描述可知,通过将帧率、帧率平均值与帧率标准均值进行比对衡量,可更加精准地对软件质量进行合理的评估,还可根据帧率数据和帧率比对数据进行汇总计算,收集有用的测试数据用于数据分析,并生成测试报表。
请参照图4,本发明还提出一种虚拟现实软件的帧率测试系统,包括:
第一获取模块,用于根据预设的数据采集次数,获取对应数量的帧;
更新模块,用于根据预设的图形渲染速率,依次对所述帧进行更新;
第一计算模块,用于根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
第二计算模块,用于根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
比对模块,用于将帧率平均值与帧率标准均值进行比对。
进一步地,所述第一计算模块包括:
第一获取单元,用于获取所述更新的过程的更新初始时间,同时获取获取所述更新初始时间的第一时间损耗;
第二获取单元,用于获取所述帧中第一帧的更新开始时间,同时获取获取所述更新开始时间的第二时间损耗;
第一计算单元,用于根据所述更新初始时间与第一帧的更新开始时间,计算得到第一帧更新的更新时间间隔;
第二计算单元,用于根据所述第一帧更新的更新时间间隔、第一时间损耗和第二时间损耗,计算得到第一帧的帧率;
第三获取单元,用于获取上一帧的更新完成时间,同时获取获取所述更新完成时间的第三时间损耗;
第四获取单元,用于获取当前帧的更新开始时间,同时获取获取所述更新开始时间的第四时间损耗;
第三计算单元,用于根据所述更新完成时间和更新开始时间,计算得到当前帧更新的更新时间间隔;
第四计算单元,用于根据当前帧相对上一帧的帧数增量、所述更新时间间隔、第三时间损耗和第四时间损耗,计算得到当前帧的帧率。
进一步地,还包括:
第一构建模块,用于在虚拟现实软件中构建服务端,并创建服务端套接字;
第二构建模块,用于在外部的测试框架中构建客户端,并创建客户端套接字;
第一发送模块,用于客户端根据所述服务端的IP地址和端口号,向服务端发送连接请求;
建立模块,用于服务端接收所述连接请求后,建立与客户端的通信连接;
第二发送模块,用于客户端发送帧率测试请求至服务端,所述帧率测试请求的数据包括预设的数据采集次数和预设的图形渲染速率。
进一步地,还包括:
存储模块,用于将所述各帧的帧率存储至数据列表中;
返回模块,用于服务端将所述数据列表返回至客户端。
进一步地,所述比对模块包括:
第五获取单元,用于获取帧率标准均值;
比对单元,用于分别将所述帧率、帧率平均值与所述帧率标准均值进行比对,得到比对结果;
生成单元,用于根据所述比对结果,生成测试报表。
实施例一
请参照图1,本发明的实施例一为:一种虚拟现实软件的帧率测试方法,适用于Oculus平台的基于开发引擎的虚拟现实软件,包括如下步骤:
S11:根据预设的数据采集次数,获取对应数量的帧。
S12:根据预设的图形渲染速率,依次对所述帧进行更新;优选地,将图形渲染速率的值设置为1,使虚拟现实软件的图形渲染速率保持最优模式。
S13:根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率。
S14:根据所述帧率以及所述数据采集次数,计算得到帧率平均值。
S15:将帧率平均值与帧率标准均值进行比对;具体地,获取帧率标准均值;分别将所述帧率、帧率平均值与所述帧率标准均值进行比对,得到比对结果;根据所述比对结果,生成测试报表。
本实施例根据两个帧之间的帧数增量以及两个帧之间的更新间隔时间,即可计算出两个帧中较后的帧的帧率,由此即可计算出各个帧的帧率,然后根据所计算出的各个帧的帧率以及总的测试帧数,计算出帧率平均值,将帧率平均值与帧率标准均值进行比对,即可得知虚拟现实软件的帧率是否符合标准。
实施例二
请参照图2,本实施例是实施例的进一步拓展,相同之处不再累述,区别在于,步骤S11之前,还包括如下步骤:
S01:在虚拟现实软件中构建服务端,并创建服务端套接字;
S02:在外部的测试框架中构建客户端,并创建客户端套接字;
S03:客户端根据所述服务端的IP地址和端口号,向服务端发送连接请求;
S04:服务端接收所述连接请求后,建立与客户端的通信连接;
S05:客户端发送帧率测试请求至服务端,所述帧率测试请求的数据包括预设的数据采集次数和预设的图形渲染速率。所述帧率测试请求中还可以包括调用指令,根据调用指令调用对应实施例一方法的测试流程进行帧率的计算。
进一步地,步骤S13得到各帧的帧率之后,将所述各帧的帧率存储至数据列表中,然后服务端将所述数据列表返回至客户端。
在本实施例中,测试程序(即实施例一的方法对应的程序)和服务端可以通过挂载的方式集成在虚拟现实软件中,在软件运行时创建服务端Socket,在外部的测试框架中创建客户端Socket,通过Socket通信实现测试参数、测试结果的交互,即采用C/S结构设计模式,通过Socket通信的方式,实现了测试框架与虚拟现实软件间的数据交互。
实施例三
请参照图3,本实施例是实施例步骤S13的进一步拓展,包括如下步骤:
S131:获取所述更新的过程的更新初始时间,同时获取获取所述更新初始时间的第一时间损耗;例如,获取更新的过程的更新初始时间为a,获取a时,函数的执行存在时间损耗,假设为a’,那么同时也获取a’。
S132:获取所述帧中第一帧的更新开始时间,同时获取获取所述更新开始时间的第二时间损耗;假设第一帧的更新开始时间为b,同时获取获取b的函数的执行时间损耗b’。
S133:根据所述更新初始时间与第一帧的更新开始时间,计算得到第一帧更新的更新时间间隔;具体地,第一帧更新的更新时间间隔=第一帧的更新开始时间b-更新初始时间a。
S134:根据所述第一帧更新的更新时间间隔、第一时间损耗和第二时间损耗,计算得到第一帧的帧率;由于第一帧的帧数增量即为1,因此,第一帧的帧率=1/(b-a-a’-b’)。
S135:获取上一帧的更新完成时间,同时获取获取所述更新完成时间的第三时间损耗;假设上一帧的更新完成时间为c,对应的时间损耗为c’。
S136:获取当前帧的更新开始时间,同时获取获取所述更新开始时间的第四时间损耗;假设当前帧的更新开始时间为d,对应的时间损耗为d’。
S137:根据所述更新完成时间和更新开始时间,计算得到当前帧更新的更新时间间隔;具体地,当前帧更新的更新时间间隔=当前帧的更新开始时间d-上一帧的更新完成时间c。
S138:根据当前帧相对上一帧的帧数增量、所述更新时间间隔、第三时间损耗和第四时间损耗,计算得到当前帧的帧率;若为一帧一帧依次进行更新,则当前帧相对上一帧的帧数增量为1,因此,当前帧的帧率=1/(d-c-c’-a’)。继续执行步骤S135,重复执行多次之后,即可计算出参与测试的各帧的帧率。
在实际运用中,当对一定数量的帧进行更新时,需要先对这些帧进行大致的渲染,然后对第一帧进行细致的渲染和绘制,第一帧更新完后再对第二帧进行细致的渲染和绘制,依次类推。因此,第一帧更新的更新时间间隔即用于进行整体的大致渲染以及第一帧的细致渲染,后续每一帧更新的更新时间间隔即用于进行该帧的细致渲染。同时,在实际运用中,函数的执行需要时间,具体地,创建Stopwatch()实例,该实例用于统计代码执行的时间损耗。在计算帧更新的时间间隔时,通过调用Stopwatch()实例的Start方法和Stop方法截取计算过程中的时间损耗并记录。本实施例在帧率的计算中引入了获取时间动作所造成的时间损耗,使得计算结果更加精确。
实施例四
本实施例为对应上述实施例的一具体应用场景。
虚拟现实软件启动时,挂载的脚本组件分别调用socket()创建TCP套接口,bind()绑定地址和端口,listen()转换主动套接口为被动套接口完成初始化服务器,并阻塞等待客户端的连接请求。
测试框架在完成客户端Socket初始化后,通过服务器的地址和端口,调用connect()向服务器发送连接请求,并阻塞等待服务器应答。服务器回复应答并阻塞等待客户端发送请求数据后,客户端同样回复一个连接成功的应答,此时客户端和服务器建立通信连接。
完成测试框架与虚拟现实软件之间的通信连接后,从测试框架发送帧率测试请求(包括调用指令、预设的数据采集次数和预设的图形渲染速率),挂载在虚拟现实软件上的服务端Socket接收到请求后,根据调用指令调用测试程序进行帧率数据采集并返回数据列表。期间,测试框架的客户端Socket阻塞等待服务器应答。测试程序完成数据的采集后,通过服务端Socket将数据列表发送给测试框架的客户端Socket。客户端调用close()向Socket服务端发送中断连接请求,Socket服务端接收到请求后,中断连接。
其中,测试程序被调用后,接收服务端Socket传递的测试参数(包括预设的数据采集次数和预设的图形渲染速率),对数据以及变量进行初始化。根据传递的参数设置采集帧率数据的次数,并初始化上一帧更新的结束时间。通过调用Application类可以访问虚拟现实软件运行时的部分数据,设置静态属性targetFrameRate的值为1,使虚拟现实软件的图形渲染速率保持最优模式。
帧更新时,创建Stopwatch类的微妙级高精度计时器实例,该实例可以测量一个时间间隔的运行时间。通过调用Time类的realtimeSinceStartup函数获取当前时间并作为当前帧的开始时间。函数的执行存在时间损耗,通过微妙级高精度计时器实例获取该时间损耗,并记录。通过上一帧更新结束时间与当前帧的更新开始时间计算帧更新的间隔时间。
根据帧率计算公式,由于每帧的帧数增量为1,通过帧更新的时间间隔,计算当前帧的运行帧率,具体地,帧率=帧数增量/(当前帧更新开始时间-上一帧更新结束时间-当前帧更新开始时间的损耗时间-上一帧更新结束时间的损耗时间)。完成帧率计算后,调用Time类的realtimeSinceStartup函数获取当前时间并作为当前帧的更新结束时间。通过计时器实例测量在获取当前帧的更新结束时间时代码运行的时间损耗并记录。
根据传入的参数,完成指定的数据采集次数后,数据将被存储在指定的空数据组中,用于外部调用。
服务端Socket返回json数据格式的数据组给测试框架的客户端Socket,并通过JsonConvert类的DeserializeObject函数对包含了数据组的json字符串进行反序列化处理。解析后的数据中除了包含帧率数据组,还包含了数据的数量信息,通过这些信息计算帧率数据的平均值。
完成帧率平均值计算后,测试框架连接数据库,提取数据库中的标准数据表,该表记录了用于衡量测试结果的标准信息。数据组中的帧率数据一一与标准数据进行匹配,统计出测试报表所需的信息,包含了帧率数据通过数,帧率数据未通过数,帧率均值,数据通过率等信息。最后,测试框架调用报告接口,通过传递这些信息,生成对应的测试报表。
实施例五
请参照图5,本实施例是对应上述实施例的一种虚拟现实软件的帧率测试系统,包括:
第一获取模块1,用于根据预设的数据采集次数,获取对应数量的帧;
更新模块2,用于根据预设的图形渲染速率,依次对所述帧进行更新;
第一计算模块3,用于根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
第二计算模块4,用于根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
比对模块5,用于将帧率平均值与帧率标准均值进行比对。
进一步地,所述第一计算模块3包括:
第一获取单元31,用于获取所述更新的过程的更新初始时间,同时获取获取所述更新初始时间的第一时间损耗;
第二获取单元32,用于获取所述帧中第一帧的更新开始时间,同时获取获取所述更新开始时间的第二时间损耗;
第一计算单元33,用于根据所述更新初始时间与第一帧的更新开始时间,计算得到第一帧更新的更新时间间隔;
第二计算单元34,用于根据所述第一帧更新的更新时间间隔、第一时间损耗和第二时间损耗,计算得到第一帧的帧率;
第三获取单元35,用于获取上一帧的更新完成时间,同时获取获取所述更新完成时间的第三时间损耗;
第四获取单元36,用于获取当前帧的更新开始时间,同时获取获取所述更新开始时间的第四时间损耗;
第三计算单元37,用于根据所述更新完成时间和更新开始时间,计算得到当前帧更新的更新时间间隔;
第四计算单元38,用于根据当前帧相对上一帧的帧数增量、所述更新时间间隔、第三时间损耗和第四时间损耗,计算得到当前帧的帧率。
进一步地,还包括:
第一构建模块6,用于在虚拟现实软件中构建服务端,并创建服务端套接字;
第二构建模块7,用于在外部的测试框架中构建客户端,并创建客户端套接字;
第一发送模块8,用于客户端根据所述服务端的IP地址和端口号,向服务端发送连接请求;
建立模块9,用于服务端接收所述连接请求后,建立与客户端的通信连接;
第二发送模块10,用于客户端发送帧率测试请求至服务端,所述帧率测试请求的数据包括预设的数据采集次数和预设的图形渲染速率。
进一步地,还包括:
存储模块11,用于将所述各帧的帧率存储至数据列表中;
返回模块12,用于服务端将所述数据列表返回至客户端。
进一步地,所述比对模块5包括:
第五获取单元51,用于获取帧率标准均值;
比对单元52,用于分别将所述帧率、帧率平均值与所述帧率标准均值进行比对,得到比对结果;
生成单元53,用于根据所述比对结果,生成测试报表。
综上所述,本发明提供的一种虚拟现实软件的帧率测试方法及其系统,根据两个帧之间的帧数增量以及两个帧之间的更新间隔时间,即可计算出两个帧中较后的帧的帧率,由此即可计算出各个帧的帧率,然后根据所计算出的各个帧的帧率以及总的测试帧数,计算出帧率平均值,将帧率平均值与帧率标准均值进行比对,即可得知虚拟现实软件的帧率是否符合标准。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等同变换,或直接或间接运用在相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种虚拟现实软件的帧率测试方法,其特征在于,包括:
根据预设的数据采集次数,获取对应数量的帧;
根据预设的图形渲染速率,依次对所述帧进行更新;
根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
将帧率平均值与帧率标准均值进行比对。
2.根据权利要求1所述的虚拟现实软件的帧率测试方法,其特征在于,所述“根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率”具体为:
获取所述更新的过程的更新初始时间,同时获取获取所述更新初始时间的第一时间损耗;
获取所述帧中第一帧的更新开始时间,同时获取获取所述更新开始时间的第二时间损耗;
根据所述更新初始时间与第一帧的更新开始时间,计算得到第一帧更新的更新时间间隔;
根据所述第一帧更新的更新时间间隔、第一时间损耗和第二时间损耗,计算得到第一帧的帧率;
获取上一帧的更新完成时间,同时获取获取所述更新完成时间的第三时间损耗;
获取当前帧的更新开始时间,同时获取获取所述更新开始时间的第四时间损耗;
根据所述更新完成时间和更新开始时间,计算得到当前帧更新的更新时间间隔;
根据当前帧相对上一帧的帧数增量、所述更新时间间隔、第三时间损耗和第四时间损耗,计算得到当前帧的帧率。
3.根据权利要求1所述的虚拟现实软件的帧率测试方法,其特征在于,所述“根据预设的数据采集次数,获取对应数量的帧”之前,进一步包括:
在虚拟现实软件中构建服务端,并创建服务端套接字;
在外部的测试框架中构建客户端,并创建客户端套接字;
客户端根据所述服务端的IP地址和端口号,向服务端发送连接请求;
服务端接收所述连接请求后,建立与客户端的通信连接;
客户端发送帧率测试请求至服务端,所述帧率测试请求的数据包括预设的数据采集次数和预设的图形渲染速率。
4.根据权利要求3所述的虚拟现实软件的帧率测试方法,其特征在于,所述“计算得到所述帧中各帧的帧率”之后,进一步包括:
将所述各帧的帧率存储至数据列表中;
服务端将所述数据列表返回至客户端。
5.根据权利要求1所述的虚拟现实软件的帧率测试方法,其特征在于,所述“将帧率平均值与帧率标准均值进行比对”具体为:
获取帧率标准均值;
分别将所述帧率、帧率平均值与所述帧率标准均值进行比对,得到比对结果;
根据所述比对结果,生成测试报表。
6.一种虚拟现实软件的帧率测试系统,其特征在于,包括:
第一获取模块,用于根据预设的数据采集次数,获取对应数量的帧;
更新模块,用于根据预设的图形渲染速率,依次对所述帧进行更新;
第一计算模块,用于根据所述帧中相邻帧的更新时间间隔,计算得到所述帧中各帧的帧率;
第二计算模块,用于根据所述帧率以及所述数据采集次数,计算得到帧率平均值;
比对模块,用于将帧率平均值与帧率标准均值进行比对。
7.根据权利要求6所述的虚拟现实软件的帧率测试系统,其特征在于,所述第一计算模块包括:
第一获取单元,用于获取所述更新的过程的更新初始时间,同时获取获取所述更新初始时间的第一时间损耗;
第二获取单元,用于获取所述帧中第一帧的更新开始时间,同时获取获取所述更新开始时间的第二时间损耗;
第一计算单元,用于根据所述更新初始时间与第一帧的更新开始时间,计算得到第一帧更新的更新时间间隔;
第二计算单元,用于根据所述第一帧更新的更新时间间隔、第一时间损耗和第二时间损耗,计算得到第一帧的帧率;
第三获取单元,用于获取上一帧的更新完成时间,同时获取获取所述更新完成时间的第三时间损耗;
第四获取单元,用于获取当前帧的更新开始时间,同时获取获取所述更新开始时间的第四时间损耗;
第三计算单元,用于根据所述更新完成时间和更新开始时间,计算得到当前帧更新的更新时间间隔;
第四计算单元,用于根据当前帧相对上一帧的帧数增量、所述更新时间间隔、第三时间损耗和第四时间损耗,计算得到当前帧的帧率。
8.根据权利要求6所述的虚拟现实软件的帧率测试系统,其特征在于,还包括:
第一构建模块,用于在虚拟现实软件中构建服务端,并创建服务端套接字;
第二构建模块,用于在外部的测试框架中构建客户端,并创建客户端套接字;
第一发送模块,用于客户端根据所述服务端的IP地址和端口号,向服务端发送连接请求;
建立模块,用于服务端接收所述连接请求后,建立与客户端的通信连接;
第二发送模块,用于客户端发送帧率测试请求至服务端,所述帧率测试请求的数据包括预设的数据采集次数和预设的图形渲染速率。
9.根据权利要求8所述的虚拟现实软件的帧率测试系统,其特征在于,还包括:
存储模块,用于将所述各帧的帧率存储至数据列表中;
返回模块,用于服务端将所述数据列表返回至客户端。
10.根据权利要求6所述的虚拟现实软件的帧率测试系统,其特征在于,所述比对模块包括:
第五获取单元,用于获取帧率标准均值;
比对单元,用于分别将所述帧率、帧率平均值与所述帧率标准均值进行比对,得到比对结果;
生成单元,用于根据所述比对结果,生成测试报表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710116999.XA CN106970875B (zh) | 2017-03-01 | 2017-03-01 | 虚拟现实软件的帧率测试方法及其系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710116999.XA CN106970875B (zh) | 2017-03-01 | 2017-03-01 | 虚拟现实软件的帧率测试方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106970875A true CN106970875A (zh) | 2017-07-21 |
CN106970875B CN106970875B (zh) | 2019-08-27 |
Family
ID=59328628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710116999.XA Active CN106970875B (zh) | 2017-03-01 | 2017-03-01 | 虚拟现实软件的帧率测试方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106970875B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107704397A (zh) * | 2017-10-30 | 2018-02-16 | 歌尔科技有限公司 | 应用程序测试方法、装置及电子设备 |
CN107748715A (zh) * | 2017-09-13 | 2018-03-02 | 福建天晴数码有限公司 | 基于Unity的纹理贴图配置信息检测方法及其系统 |
CN108153655A (zh) * | 2017-12-18 | 2018-06-12 | 福建天晴数码有限公司 | 虚拟现实软件的绘制调用数量的检测方法及存储介质 |
CN108153656A (zh) * | 2017-12-20 | 2018-06-12 | 福建天晴数码有限公司 | 一种虚拟现实软件性能测试方法及终端 |
CN108170592A (zh) * | 2017-12-20 | 2018-06-15 | 福建天晴数码有限公司 | 一种虚拟现实软件性能的远程测试方法及终端 |
CN108287791A (zh) * | 2018-01-17 | 2018-07-17 | 福建天晴数码有限公司 | 虚拟现实软件的纹理资源配置的检测方法及存储介质 |
CN108763052A (zh) * | 2018-04-11 | 2018-11-06 | 福建天晴数码有限公司 | 一种虚拟现实软件内存回收机制的性能检测方法及系统 |
CN109032911A (zh) * | 2018-07-24 | 2018-12-18 | 网易(杭州)网络有限公司 | 用于移动设备的帧率检测方法、装置及电子设备 |
CN111111197A (zh) * | 2019-12-23 | 2020-05-08 | 西南民族大学 | 一种基于DirectX平台的游戏引擎数据处理系统及方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108169A (zh) * | 2013-02-27 | 2013-05-15 | Tcl通讯(宁波)有限公司 | 一种实时显示视频帧率的移动终端及其实现方法 |
CN103559130A (zh) * | 2013-11-01 | 2014-02-05 | 百度在线网络技术(北京)有限公司 | 浏览器流畅度的测试方法和装置 |
CN104580969A (zh) * | 2013-10-23 | 2015-04-29 | 中兴通讯股份有限公司 | 录像帧率调整方法和装置 |
CN104951266A (zh) * | 2015-06-11 | 2015-09-30 | 联想(北京)有限公司 | 一种屏幕调整方法及电子设备 |
CN105118077A (zh) * | 2015-09-02 | 2015-12-02 | 广东建设职业技术学院 | 一种提高文件拍摄流畅性的方法及系统 |
CN105653456A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
-
2017
- 2017-03-01 CN CN201710116999.XA patent/CN106970875B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103108169A (zh) * | 2013-02-27 | 2013-05-15 | Tcl通讯(宁波)有限公司 | 一种实时显示视频帧率的移动终端及其实现方法 |
CN104580969A (zh) * | 2013-10-23 | 2015-04-29 | 中兴通讯股份有限公司 | 录像帧率调整方法和装置 |
CN103559130A (zh) * | 2013-11-01 | 2014-02-05 | 百度在线网络技术(北京)有限公司 | 浏览器流畅度的测试方法和装置 |
CN104951266A (zh) * | 2015-06-11 | 2015-09-30 | 联想(北京)有限公司 | 一种屏幕调整方法及电子设备 |
CN105118077A (zh) * | 2015-09-02 | 2015-12-02 | 广东建设职业技术学院 | 一种提高文件拍摄流畅性的方法及系统 |
CN105653456A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 应用程序性能测试方法、装置和系统 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107748715A (zh) * | 2017-09-13 | 2018-03-02 | 福建天晴数码有限公司 | 基于Unity的纹理贴图配置信息检测方法及其系统 |
CN107704397B (zh) * | 2017-10-30 | 2020-10-09 | 歌尔科技有限公司 | 应用程序测试方法、装置及电子设备 |
CN107704397A (zh) * | 2017-10-30 | 2018-02-16 | 歌尔科技有限公司 | 应用程序测试方法、装置及电子设备 |
CN108153655A (zh) * | 2017-12-18 | 2018-06-12 | 福建天晴数码有限公司 | 虚拟现实软件的绘制调用数量的检测方法及存储介质 |
CN108153655B (zh) * | 2017-12-18 | 2021-04-27 | 福建天晴数码有限公司 | 虚拟现实软件的绘制调用数量的检测方法及存储介质 |
CN108153656A (zh) * | 2017-12-20 | 2018-06-12 | 福建天晴数码有限公司 | 一种虚拟现实软件性能测试方法及终端 |
CN108170592A (zh) * | 2017-12-20 | 2018-06-15 | 福建天晴数码有限公司 | 一种虚拟现实软件性能的远程测试方法及终端 |
CN108287791A (zh) * | 2018-01-17 | 2018-07-17 | 福建天晴数码有限公司 | 虚拟现实软件的纹理资源配置的检测方法及存储介质 |
CN108763052A (zh) * | 2018-04-11 | 2018-11-06 | 福建天晴数码有限公司 | 一种虚拟现实软件内存回收机制的性能检测方法及系统 |
CN109032911A (zh) * | 2018-07-24 | 2018-12-18 | 网易(杭州)网络有限公司 | 用于移动设备的帧率检测方法、装置及电子设备 |
CN109032911B (zh) * | 2018-07-24 | 2022-02-18 | 网易(杭州)网络有限公司 | 用于移动设备的帧率检测方法、装置及电子设备 |
CN111111197A (zh) * | 2019-12-23 | 2020-05-08 | 西南民族大学 | 一种基于DirectX平台的游戏引擎数据处理系统及方法 |
CN111111197B (zh) * | 2019-12-23 | 2021-07-16 | 西南民族大学 | 一种基于DirectX平台的游戏引擎数据处理系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106970875B (zh) | 2019-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106970875A (zh) | 虚拟现实软件的帧率测试方法及其系统 | |
CN109034660A (zh) | 基于预测模型的风险控制策略的确定方法及相关装置 | |
CN109814933B (zh) | 一种业务数据处理方法及装置 | |
CN104993946B (zh) | 灰度发布的评估方法、装置和系统 | |
CN108563548A (zh) | 异常检测方法及装置 | |
CN107368410A (zh) | 游戏引擎的性能测试方法和装置、存储介质及电子装置 | |
CN109359003B (zh) | 游戏服务器压力测试方法、装置及设备 | |
CN110309048A (zh) | 基于模拟端口改进软件集成系统的方法及相关设备 | |
CN107729139A (zh) | 一种并发获取资源的方法和装置 | |
CN112306881B (zh) | 模拟数据生成方法、装置、设备及存储介质 | |
CN107315889A (zh) | 仿真引擎的性能测试方法及存储介质 | |
CN105303410B (zh) | 虚拟物品分享方法和装置 | |
CN106235485B (zh) | 服装样衣尺寸测量分析系统及方法 | |
CN109857650A (zh) | 一种游戏性能监听方法及系统 | |
CN109740567A (zh) | 关键点定位模型训练方法、定位方法、装置及设备 | |
CN110339571A (zh) | 事件生成方法和装置、存储介质以及电子装置 | |
CN110287767A (zh) | 可防攻击的活体检测方法、装置、计算机设备及存储介质 | |
CN106802865A (zh) | 用于软件测试的应答模拟装置及方法 | |
CN110334620A (zh) | 教学质量的评估方法、装置、存储介质及电子设备 | |
CN108170592A (zh) | 一种虚拟现实软件性能的远程测试方法及终端 | |
CN117009221A (zh) | 产品测试的处理方法、装置、设备、存储介质及程序产品 | |
CN108153655B (zh) | 虚拟现实软件的绘制调用数量的检测方法及存储介质 | |
CN108896070A (zh) | 移动设备中检测传感器误差的方法、装置和终端 | |
CN109766089A (zh) | 基于动图的代码生成方法、装置、电子设备及存储介质 | |
CN114870395B (zh) | 游戏场景的终端振动检测方法、装置、介质及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |