CN107368410B - 游戏引擎的性能测试方法和装置、存储介质及电子装置 - Google Patents

游戏引擎的性能测试方法和装置、存储介质及电子装置 Download PDF

Info

Publication number
CN107368410B
CN107368410B CN201710449040.8A CN201710449040A CN107368410B CN 107368410 B CN107368410 B CN 107368410B CN 201710449040 A CN201710449040 A CN 201710449040A CN 107368410 B CN107368410 B CN 107368410B
Authority
CN
China
Prior art keywords
engine
test
terminal
state data
game engine
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
Application number
CN201710449040.8A
Other languages
English (en)
Other versions
CN107368410A (zh
Inventor
周旸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201710449040.8A priority Critical patent/CN107368410B/zh
Publication of CN107368410A publication Critical patent/CN107368410A/zh
Application granted granted Critical
Publication of CN107368410B publication Critical patent/CN107368410B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test 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)
  • Debugging And Monitoring (AREA)
  • Pinball Game Machines (AREA)

Abstract

本发明公开了一种游戏引擎的性能测试方法和装置、存储介质及电子装置。其中,该方法包括:获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序;在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据;根据硬件状态数据获取目标游戏引擎的性能测试结果。本发明解决了现有技术所采用的游戏引擎的性能测试方法较为单一造成的测试效率较低的技术问题。

Description

游戏引擎的性能测试方法和装置、存储介质及电子装置
技术领域
本发明涉及计算机领域,具体而言,涉及一种游戏引擎的性能测试方法和装置、存储介质及电子装置。
背景技术
游戏引擎是为运行游戏应用的核心组件,用于提供各种运行所需的各种工具。为游戏应用匹配最合适的游戏引擎,以改善游戏应用在终端运行的性能,是游戏应用开发商当前非常关注的内容。
目前,为了测试游戏引擎的性能,常用的技术手段往往是为每个游戏应用分别配置不同的游戏引擎,依次进行游戏引擎的性能测试。也就是说,如果想要改变所要测试的游戏引擎,就需要为新的游戏引擎再编写一套新的测试代码。
现有的游戏引擎的性能测试方法,所采用的测试方式较为固定单一,针对不同的游戏应用,需要多次重复配置游戏引擎的性能测试代码,从而导致对游戏引擎进行测试的测试效率较低的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种游戏引擎的性能测试方法和装置、存储介质及电子装置,以至少解决现有技术所采用的游戏引擎的性能测试方法较为单一造成的测试效率较低的技术问题。
根据本发明实施例的一个方面,提供了一种游戏引擎的性能测试方法,包括:获取待测试的目标游戏引擎的引擎测试包,其中,上述引擎测试包中包括上述目标游戏引擎及用于测试上述目标游戏引擎的测试程序;在第一终端使用上述目标游戏引擎运行游戏应用的过程中,通过上述测试程序获取硬件状态数据;根据上述硬件状态数据获取上述目标游戏引擎的性能测试结果。
根据本发明实施例的另一方面,还提供了一种游戏引擎的性能测试装置,包括:第一获取单元,用于获取待测试的目标游戏引擎的引擎测试包,其中,上述引擎测试包中包括上述目标游戏引擎及用于测试上述目标游戏引擎的测试程序;测试单元,用于在第一终端使用上述目标游戏引擎运行游戏应用的过程中,通过上述测试程序获取硬件状态数据;第二获取单元,用于根据上述硬件状态数据获取上述目标游戏引擎的性能测试结果。
根据本发明实施例的又一方面,还提供了一种存储介质,上述存储介质包括存储的程序,其中,上述程序运行时执行上述游戏引擎的性能测试方法。
根据本发明实施例的又一方面,还提供了一种电子装置,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器通过上述计算机程序执行上述游戏引擎的性能测试方法。
在本发明实施例中,通过获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,从而实现直接利用获取到的引擎测试包对游戏引擎的性能进行测试,而无需再为每个游戏应用针对不同待测试的游戏引擎分别编写不同的测试程序,以简化测试步骤,达到提高游戏引擎的测试效率的效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的一种可选的引擎测试方法的应用环境示意图;
图2是根据本发明实施例的一种可选的引擎测试方法的流程图;
图3是根据本发明实施例的一种可选的引擎测试方法的示意图;
图4是根据本发明实施例的一种可选的引擎测试方法的示意图;
图5是根据本发明实施例的另一种可选的引擎测试方法的流程图;
图6是根据本发明实施例的一种可选的引擎测试装置的示意图;
图7是根据本发明实施例的一种可选的电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在本发明实施例中,提供了一种游戏引擎的性能测试方法的实施例,作为一种可选的实施方式,该游戏引擎的性能测试方法可以但不限于应用于如图1所示的应用环境中,第一终端102与测试平台106通过网络104相连,通过网络104,第一终端102从测试平台106获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序;第一终端102使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,第一终端102根据硬件状态数据获取目标游戏引擎的性能测试结果。
可选地,在本实施例中,上述第一终端可以包括移动终端,如手机、平板电脑等,也可以包括PC机、笔记本电脑等具备应用软件运行环境的设备中,而对于上述测试平台可以包括但不限于终端,如PC机、笔记本电脑等具备存储以及数据处理功能的设备,也可以包括但不限于云端服务器。可选地,在本实施例中,上述网络可以包括但不限于:广域网、城域网或局域网,以实现第一终端与测试平台之间的数据传递。以上只是一种示例,对此本实施例不做任何限定。
在本实施例中,通过获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,从而实现直接利用获取到的引擎测试包对游戏引擎的性能进行测试,以简化测试步骤,达到提高引擎测试效率的效果。
根据本发明实施例,提供了一种游戏引擎的性能测试方法,如图2所示,该方法包括:
S202,获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序;
S204,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据;
S206,根据硬件状态数据获取目标游戏引擎的性能测试结果。
可选地,在本实施例中,上述游戏引擎的性能测试方法可以但不限于应用于使用游戏引擎运行的游戏应用中,以通过上述游戏引擎的性能测试方法获取与游戏应用相适配的游戏引擎。其中,上述引擎测试包可以包括但不限于为不同类型的游戏引擎的引擎测试包。从而实现通过在第一终端使用待测试的目标游戏引擎运行游戏应用后得到的硬件状态数据,来获取该目标游戏引擎的性能测试结果。其中,上述游戏应用可以包括但不限于以下至少之一:二维(Two Dimension,简称2D)游戏应用、三维(Three Dimension,简称3D)游戏应用、虚拟现实(Virtual Reality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。例如,以2D游戏为例,在获取到用于测试该2D游戏的引擎测试包之后,通过在第一终端使用目标游戏引擎运行上述2D游戏,得到该2D游戏使用目标游戏引擎运行时的硬件状态数据,从而实现根据上述硬件状态数据直接获取目标游戏引擎的性能测试结果,进一步,在获取到多个游戏引擎的性能测试结果后,可以通过直接比对上述多个游戏引擎的性能测试结果,以得到与上述2D游戏最适配的游戏引擎,进而达到改善2D游戏运行效果的目的,以提高上述2D游戏的下载量和市场覆盖率。
需要说明的是,在本实施例中,通过获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,从而实现直接利用获取到的引擎测试包对游戏引擎的性能进行测试,而无需再为每个游戏应用针对不同待测试的游戏引擎分别编写不同的测试程序,以简化测试步骤,达到提高游戏引擎的测试效率的效果。
可选地,在本实施例中,上述待测试的目标游戏引擎可以包括但不限于以下至少之一:Unity引擎、Cocos2d引擎、Unreal引擎。对应的,上述目标游戏引擎的引擎测试包可以包括但不限于以下至少之一:Unity引擎测试包、Cocos2d引擎测试包、Unreal引擎测试包。其中,Unity引擎:是由Unity Technologies开发的一个应用于三维场景下的引擎,例如,应用于三维视频游戏、三维动画等类型游戏应用中;Cocos2d引擎:是一个基于MIT协议的开源框架,应用于构建游戏、应用程序和其他图形界面交互的应用。Unreal引擎:是一个由EpicGames开发的游戏引擎。以上只是一种示例,本实施例对此不作任何限定。
可选地,在本实施例中,获取用于测试游戏应用的引擎测试包包括:从测试平台获取引擎测试包,其中,测试平台包括以下至少之一:服务器、第二终端。
需要说明的是,在测试平台为第二终端的情况下,上述第二终端可以但不限于为PC机、笔记本电脑和Linux等。上述第二终端可以但不限于配置图形用户界面(GraphicalUserInterface,简称GUI)。其中,该界面中配置各种设置功能,比如用于测试的Unity引擎、Cocos2D引擎、Unreal引擎等的安装路径,测试的种类,测试的时长,以及用于触发开始测试的按钮等等。也就是说,在本实施例中,可以但不限于将上述待测试的目标游戏引擎的引擎测试包存储在第二终端中,其中,在上述第二终端中可以但不限于配置所要测试的目标游戏引擎的引擎测试包,例如,配置在第一终端所要测试的目标游戏引擎的引擎标识、所要测试的引擎性能等等。具体的,在第二终端与第一终端连接,且通过按钮触发测试后,可以但不限于通过第二终端的GUI界面配置所要测试的目标游戏引擎的引擎标识及所要测试的引擎性能,将上述引擎标识对应的引擎测试包发送至第一终端,以便于第一终端开始使用上述引擎标识对应的引擎测试包对目标游戏引擎进行测试。
可选地,在本实施例中,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过引擎测试包中的测试程序获取目标游戏引擎运行时的硬件状态数据包括:获取第一终端所运行的系统的系统信息;根据上述系统信息确定用于获取上述硬件状态数据的测试接口,调用上述测试接口以获取硬件状态数据。
可选地,在本实施例中,上述第一终端所运行的系统的系统信息可以包括但不限于终端所运行的系统类型,例如,上述系统类型可以包括但不限于:Android、IOS、Windows、PS3和Xbox等系统。上述终端系统信息可以包括但不限于终端类型,如手机、PC、游戏主机等。例如,如图3所示,根据终端系统信息获取不同的系统类型,从而确定出与不同的系统类型分别匹配的测试接口。例如,SDK形式的测试接口接入上述引擎测试包中的测试程序中。
可选地,在本实施例中,上述硬件状态数据中包括:一个或多个状态参数的参数值,其中,上述多个状态参数可以包括但不限于:第一终端的中央处理器使用率、第一终端中的图形处理器使用率、第一终端的内存使用率、第一终端的电池使用量、游戏应用的帧传输变化率(Frames per second,简称FPS)。上述仅是一种示例,本实施例中对此不做任何限定。
需要说明的是,上述帧传输变化率可以但不限于根据游戏应用中目标对象的显示状态的状态更新信息而确定,其中,上述显示状态可以包括以下至少之一:目标对象的显示位置、目标对象所执行的动作、目标对象所显示的颜色。
可选地,在本实施例中,在根据硬件状态数据获取与目标游戏引擎匹配的性能测试结果之后,还包括:获取与多个目标游戏引擎分别匹配的多个性能测试结果;比对获取到的多个性能测试结果;根据比对的结果获取与游戏应用匹配的游戏引擎。
也就是说,在本实施例中,可以但不限于获取测试多个游戏引擎后的性能测试结果,通过比对多个性能测试结果来确定与第一终端中的游戏应用匹配的游戏引擎,从而实现直接利用获取到的独立的引擎测试包运行第一终端中的游戏应用,以便于获取各个游戏引擎在运行上述游戏应用后得到的不同的性能测试结果,而无需为运行每个游戏应用的每个游戏引擎单独配置测试程序及用于测试的资源,达到了简化对游戏引擎的测试步骤,提高引擎测试效率的效果。
进一步,在测试过程中,各个游戏引擎可以但不限于引用所运行的游戏应用中相同的标准资源文件,即共享第一终端中该游戏应用的资源文件,以保证测试的公平性和准确性,还提高了资源利用率。其中,上述资源文件包括但不限于以下至少之一:音效资源、贴图资源、动画资源。如图4所示。上述仅是一种示例,本实施例中对此不做任何限定。需要说明的是,上述标准资源文件可以但不限于存储在引擎资源包中,第一终端可以在获取引擎资源包的同时获取该标准资源文件;此外,也可以但不限于存储在第一终端中,第一终端在测试不同的游戏引擎的过程中,调用上述标准资源文件来测试游戏应用。
通过本申请提供的实施例,在获取待测试的目标游戏引擎的引擎测试包之后,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,从而实现直接利用获取到的引擎测试包对游戏引擎的性能进行测试,而无需再为每个游戏应用针对不同待测试的游戏引擎分别编写不同的测试程序,以简化测试步骤,达到提高游戏引擎的测试效率的效果。
作为一种可选的方案,通过测试程序获取硬件状态数据包括:
S1,根据第一终端所运行的系统的系统信息,确定第一终端中用于获取硬件状态数据的测试接口;
S2,调用测试接口以获取硬件状态数据;
可选地,在本实施例中,上述第一终端所运行的系统的系统信息可以包括但不限于:系统类型,其中,上述系统类型可以包括但不限于:Android、IOS、Windows、PS3和Xbox等系统。上述第一终端所运行的系统的系统信息还可以包括但不限于:终端类型,其中,终端类型可以为手机、PC、游戏主机等。
具体结合图3所示进行说明,获取第一终端所运行的系统的系统信息,假设终端A指示手机、终端B指示PC、终端C指示游戏主机,系统-1指示Android系统、系统-2指示IOS系统、系统-3指示Windows系统、系统-4指示游戏机PS3和Xbox的系统。如图3所示,针对不同的系统类型,引擎测试包中的测试程序可以但不限于将确定得到不同的测试接口,以运行系统-1(Android系统)的终端A为例,确定为测试接口a,从而实现通过测试接口a调用终端A在测试游戏应用的过程中得到的硬件状态数据;以运行系统-3(Windows系统)的终端C为例,确定为测试接口c,从而实现通过测试接口c调用终端C在测试游戏应用的过程中得到的硬件状态数据。
需要说明的是,上述测试接口可以但不限于以SDK形式接入。也就是说,使用引擎测试包在测试上述游戏应用时,通过向与终端匹配的SDK发送调用请求,以调用得到的硬件状态数据。
通过本申请提供的实施例,根据第一终端所运行的系统的系统信息,确定第一终端中用于获取硬件状态数据的测试接口,来调用测试接口以获取硬件状态数据,从而实现通过与终端所运行的系统的系统类型相匹配的测试接口,来快速准确获取硬件状态数据,以保证所获取到的性能测试结果的准确性和测试效率;此外,通过测试接口获取的方式还将利于将上述引擎测试方法扩展到更多不同的硬件设备中,达到提高测试方法的通用性的目的。
作为一种可选的方案,调用测试接口,以获取硬件状态数据包括:
S1,重复执行以下步骤,直至使用目标游戏引擎运行的游戏应用结束运行:
S12,每隔预定时间段向测试接口发送调用请求;
S14,获取测试接口根据调用请求调用到的一组硬件状态数据,其中,一组硬件状态数据中包括:一个或多个状态参数的参数值。
需要说明的是,在本实施例中,上述预定时间段可以但不限于等长的时间,也可以但不限于为不等的时长。也就是说,引擎测试包中的测试程序可以按照一定周期定期通过测试接口调用硬件状态数据,也可以但不限于间隔不同时间段来获取硬件状态数据。
可选地,在本实施例中,上述引擎测试包中的测试程序可以但不限于配置为向测试接口发送调用请求,以通过该测试接口调用第一终端在收到调用请求时测试到的硬件状态数据。其中,在使用引擎测试包测试游戏应用的过程中,上述测试程序可以但不限于每隔预定时间段发送一次调用请求,多次调用请求后将获取到多组硬件状态数据,其中,一组上述硬件状态数据中包括:一个或多个状态参数的参数值,其中,上述多个状态参数可以包括但不限于:第一终端的中央处理器使用率、第一终端中的图形处理器使用率、第一终端的内存使用率、第一终端的电池使用量、游戏应用的帧传输变化率(Frames per second,简称FPS)。上述仅是一种示例,本实施例中对此不做任何限定。
具体结合图5所示进行说明,如步骤S502,测试程序向测试接口(SDK)发送调用请求,以调用获取SDK在接收到上述调用请求时测试得到的硬件状态数据。在使用引擎测试包测试游戏应用的过程中,每隔预定时间段重复执行一次调用过程,通过多次调用请求获取多组硬件状态数据,如步骤S504,以便于根据上述多组硬件状态数据获取上述待测试的目标游戏引擎的性能测试结果。
通过本申请的实施例,每隔预定时间段向测试接口发送调用请求,以获取待测试的目标游戏引擎的硬件状态数据,从而实现利用上述硬件状态数据来获取目标游戏引擎的性能测试结果,以达到保证性能测试结果的准确性。
作为一种可选的方案,在向测试接口发送调用请求之后,还包括:
S1,测试接口接收调用请求;
S2,测试接口响应调用请求在第一终端采集得到一组硬件状态数据,其中,采集得到的硬件状态数据中包括以下至少一种参数:第一终端的中央处理器使用率、第一终端中的图形处理器使用率、第一终端的内存使用率、第一终端的电池使用量;或者,
S3,测试接口响应调用请求在第一终端计算得到一组硬件状态数据,其中,计算得到的硬件状态数据中包括以下参数:游戏应用的帧传输变化率。
例如,采集得到的硬件状态数据以电池使用量为例,假设用于测试的第一终端没有插入电源,游戏应用开始测试为t1时刻,SDK接收到测试程序发送的调用请求,响应该调用请求获取当前第一终端的电池电量为b1,在游戏应用的测试进行到t2时刻时,SDK接收到测试程序发送的调用请求,响应该调用请求获取当前第一终端的电池电量为b2。电池使用量可以为Δb,计算公式如下:
Δb=b1–b2 (1)
可选地,在本实施例中,还可以但不限于获取第一终端检测到的状态更新信息,其中,状态更新信息用于指示在游戏应用中目标对象的显示状态被更新;根据状态更新信息获取硬件状态数据,其中,该硬件状态数据包括以下参数:游戏应用的帧传输变化率。其中,上述显示状态包括以下至少之一:目标对象的显示位置、目标对象所执行的动作、目标对象所显示的颜色
需要说明的是,上述帧传输变化率可以但不限于根据游戏应用中目标对象的显示状态的状态更新信息而确定。也就是说,在游戏应用中目标对象的显示状态更新时,游戏应用将触发一次渲染更新,以渲染更新后的画面中的内容。其中,一次渲染更新是一个循环,也是渲染一帧画面的时间。
例如,计算得到的硬件状态数据以帧传输变化率为例。假设在一次显示状态更新的过程中,游戏引擎将获取游戏应用中显示状态更新的内容,假设目标对象被从位置P移动到位置Q,则可触发一次渲染更新,渲染出包含上述显示状态发生更新的目标对象的帧画面。假设游戏引擎会给出渲染一帧图像的时间t,然后可以用以下公式可以计算出帧传输变化率FPS:
FPS=1/t (2)
通过本申请的实施例,获取第一终端的硬件状态数据,以便于根据上述硬件状态数据获取更加准确的目标游戏引擎的性能测试结果,从而保证测试的准确性和全面性。
作为一种可选的方案,根据硬件状态数据获取与目标游戏引擎匹配的性能测试结果包括:
S1,获取使用目标游戏引擎运行的游戏应用的过程中所得到的多组硬件状态数据;
S2,根据多组硬件状态数据获取每个状态参数的平均参数值;
S3,对各个状态参数的平均参数值进行加权求和,以得到与目标游戏引擎匹配的性能测试结果。
例如,假设FPS 60帧/s、CPU使用率0%、GPU使用率0%、内存使用率0%作为满分的标准。假设目标游戏引擎为游戏引擎A,在使用游戏引擎A运行游戏应用的过程中得到多组硬件状态数据,根据获取到的多组硬件状态数据,来获取每个状态参数的平均参数值如下:FPS为60帧/s、CPU使用率为50%、GPU使用率为60%、内存使用率为40%。进一步,对各个状态参数的平均参数值进行加权求和,以得到与目标游戏引擎匹配的性能测试结果如下:
Fps得分=测试帧数/60*100
CPU得分=(100%–实际CPU使用率)*100
GPU得分=(100%–实际GPU使用率)*100
内存得分=(100%–实际内存使用率)*100
电池得分=(100%-实际电池使用率)*100
性能测试结果=Fps得分+CPU得分+GPU得分+内存得分+电池得分
通过本申请提供的实施例,通过使用目标游戏引擎运行游戏应用的过程中所得到的多组硬件状态数据,来获取每个状态参数的平均参数值,然后,对各个状态参数的平均参数值进行加权求和,以得到与目标游戏引擎匹配的性能测试结果,从而达到保证引擎测试结果的准确性的效果。
作为一种可选的方案,在根据硬件状态数据获取与目标游戏引擎匹配的性能测试结果之后,还包括:
S1,获取与多个目标游戏引擎分别匹配的多个性能测试结果;
S2,比对获取到的多个性能测试结果;
S3,根据比对的结果获取与游戏应用匹配的游戏引擎。
需要说明的是,上述多个目标游戏引擎可以但不限于与游戏应用适配的不同类型的游戏引擎。在获取多个游戏引擎运行游戏应用后得到的多个性能测试结果之后,通过比对上述多个性能测试结果,以获取在运行游戏应用时,性能更佳的游戏引擎,从而实现通过比对性能测试结果,来获取性能明显提升的游戏引擎作为与游戏应用适配的引擎。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述游戏引擎的性能测试方法的游戏引擎的性能测试装置,如图6所示,该装置包括:
1)第一获取单元602,用于获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序;
2)测试单元604,用于在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据;
3)第二获取单元606,用于根据硬件状态数据获取目标游戏引擎的性能测试结果。
可选地,在本实施例中,上述引擎测试装置可以但不限于应用于使用游戏引擎运行的游戏应用中,以通过上述游戏引擎的性能测试装置获取与游戏应用相适配的游戏引擎。其中,上述引擎测试包可以包括但不限于为不同类型的游戏引擎的引擎测试包。从而实现通过在第一终端使用待测试的目标游戏引擎运行游戏应用后得到的硬件状态数据,来获取该目标游戏引擎的性能测试结果。其中,上述游戏应用可以包括但不限于以下至少之一:二维(Two Dimension,简称2D)游戏应用、三维(Three Dimension,简称3D)游戏应用、虚拟现实(Virtual Reality,简称VR)游戏应用、增强现实(Augmented Reality,简称AR)游戏应用、混合现实(Mixed Reality,简称MR)游戏应用。以上只是一种示例,本实施例对此不作任何限定。例如,以2D游戏为例,在获取到用于测试该2D游戏的引擎测试包之后,通过在第一终端使用目标游戏引擎运行上述2D游戏,得到该2D游戏使用目标游戏引擎运行时的硬件状态数据,从而实现根据上述硬件状态数据直接获取目标游戏引擎的性能测试结果,进一步,在获取到多个游戏引擎的性能测试结果后,可以通过直接比对上述多个游戏引擎的性能测试结果,以得到与上述2D游戏最适配的游戏引擎,进而达到改善2D游戏运行效果的目的,以提高上述2D游戏的下载量和市场覆盖率。
需要说明的是,在本实施例中,通过获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,从而实现直接利用获取到的引擎测试包对游戏引擎的性能进行测试,而无需再为每个游戏应用针对不同待测试的游戏引擎分别编写不同的测试程序,以简化测试步骤,达到提高游戏引擎的测试效率的效果。
可选地,在本实施例中,上述待测试的目标游戏引擎可以包括但不限于以下至少之一:Unity引擎、Cocos2d引擎、Unreal引擎。对应的,上述目标游戏引擎的引擎测试包可以包括但不限于以下至少之一:Unity引擎测试包、Cocos2d引擎测试包、Unreal引擎测试包。其中,Unity引擎:是由Unity Technologies开发的一个应用于三维场景下的引擎,例如,应用于三维视频游戏、三维动画等类型游戏应用中;Cocos2d引擎:是一个基于MIT协议的开源框架,应用于构建游戏、应用程序和其他图形界面交互的应用。Unreal引擎:是一个由EpicGames开发的游戏引擎。以上只是一种示例,本实施例对此不作任何限定。
可选地,在本实施例中,获取用于测试游戏应用的引擎测试包包括:从测试平台获取引擎测试包,其中,测试平台包括以下至少之一:服务器、第二终端。
需要说明的是,在测试平台为第二终端的情况下,上述第二终端可以但不限于为PC机、笔记本电脑和Linux等。上述第二终端可以但不限于配置图形用户界面(GraphicalUser Interface,简称GUI)。其中,该界面中配置各种设置功能,比如用于测试的Unity引擎、Cocos2D引擎、Unreal引擎等的安装路径,测试的种类,测试的时长,以及用于触发开始测试的按钮等等。也就是说,在本实施例中,可以但不限于将上述待测试的目标游戏引擎的引擎测试包存储在第二终端中,其中,在上述第二终端中可以但不限于配置所要测试的目标游戏引擎的引擎测试包,例如,配置在第一终端所要测试的目标游戏引擎的引擎标识、所要测试的引擎性能等等。具体的,在第二终端与第一终端连接,且通过按钮触发测试后,可以但不限于通过第二终端的GUI界面配置所要测试的目标游戏引擎的引擎标识及所要测试的引擎性能,将上述引擎标识对应的引擎测试包发送至第一终端,以便于第一终端开始使用上述引擎标识对应的引擎测试包对目标游戏引擎进行测试。
可选地,在本实施例中,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过引擎测试包中的测试程序获取目标游戏引擎运行时的硬件状态数据包括:获取第一终端所运行的系统的系统信息;根据上述系统信息确定用于获取上述硬件状态数据的测试接口,调用上述测试接口以获取硬件状态数据。
可选地,在本实施例中,上述第一终端所运行的系统的系统信息可以包括但不限于终端所运行的系统类型,例如,上述系统类型可以包括但不限于:Android、IOS、Windows、PS3和Xbox等系统。上述终端系统信息可以包括但不限于终端类型,如手机、PC、游戏主机等。例如,如图3所示,根据终端系统信息获取不同的系统类型,从而确定出与不同的系统类型分别匹配的测试接口。例如,SDK形式的测试接口接入上述引擎测试包中的测试程序中。
可选地,在本实施例中,上述硬件状态数据中包括:一个或多个状态参数的参数值,其中,上述多个状态参数可以包括但不限于:第一终端的中央处理器使用率、第一终端中的图形处理器使用率、第一终端的内存使用率、第一终端的电池使用量、游戏应用的帧传输变化率(Frames per second,简称FPS)。上述仅是一种示例,本实施例中对此不做任何限定。
需要说明的是,上述帧传输变化率可以但不限于根据游戏应用中目标对象的显示状态的状态更新信息而确定,其中,上述显示状态可以包括以下至少之一:目标对象的显示位置、目标对象所执行的动作、目标对象所显示的颜色。
可选地,在本实施例中,在根据硬件状态数据获取与目标游戏引擎匹配的性能测试结果之后,还包括:获取与多个目标游戏引擎分别匹配的多个性能测试结果;比对获取到的多个性能测试结果;根据比对的结果获取与游戏应用匹配的游戏引擎。
也就是说,在本实施例中,可以但不限于获取测试多个游戏引擎后的性能测试结果,通过比对多个性能测试结果来确定与第一终端中的游戏应用匹配的游戏引擎,从而实现直接利用获取到的独立的引擎测试包运行第一终端中的游戏应用,以便于获取各个游戏引擎在运行上述游戏应用后得到的不同的性能测试结果,而无需为运行每个游戏应用的每个游戏引擎单独配置测试程序及用于测试的资源,达到了简化对游戏引擎的测试步骤,提高引擎测试效率的效果。
进一步,在测试过程中,各个游戏引擎可以但不限于引用所运行的游戏应用中相同的标准资源文件,即共享第一终端中该游戏应用的资源文件,以保证测试的公平性和准确性,还提高了资源利用率。其中,上述资源文件包括但不限于以下至少之一:音效资源、贴图资源、动画资源。例如,如图4所示,引擎-1至引擎-3共享标准资源文件。上述仅是一种示例,本实施例中对此不做任何限定。需要说明的是,上述标准资源文件可以但不限于存储在引擎资源包中,第一终端可以在获取引擎资源包的同时获取该标准资源文件;此外,也可以但不限于存储在第一终端中,第一终端在测试不同的游戏引擎的过程中,调用上述标准资源文件来测试游戏应用。
通过本申请提供的实施例,在获取待测试的目标游戏引擎的引擎测试包之后,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据,从而实现直接利用获取到的引擎测试包对游戏引擎的性能进行测试,而无需再为每个游戏应用针对不同待测试的游戏引擎分别编写不同的测试程序,以简化测试步骤,达到提高游戏引擎的测试效率的效果。
作为一种可选的方案,测试单元604包括:
1)确定模块,用于根据第一终端所运行的系统的系统信息,确定第一终端中用于获取硬件状态数据的测试接口;
2)调用模块,用于通过测试接口调用第一终端在测试游戏应用的过程中得到的硬件状态数据;
3)第一获取模块,用于调用测试接口以获取硬件状态数据。
可选地,在本实施例中,上述第一终端所运行的系统的系统信息可以包括但不限于:系统类型,其中,上述系统类型可以包括但不限于:Android、IOS、Windows、PS3和Xbox等系统。上述第一终端所运行的系统的系统信息还可以包括但不限于:终端类型,其中,终端类型可以为手机、PC、游戏主机等。
具体结合图3所示进行说明,获取第一终端所运行的系统的系统信息,假设终端A指示手机、终端B指示PC、终端C指示游戏主机,系统-1指示Android系统、系统-2指示IOS系统、系统-3指示Windows系统、系统-4指示游戏机PS3和Xbox的系统。如图3所示,针对不同的系统类型,引擎测试包中的测试程序可以但不限于将确定得到不同的测试接口,以运行系统-1(Android系统)的终端A为例,确定为测试接口a,从而实现通过测试接口a调用终端A在测试游戏应用的过程中得到的硬件状态数据;以运行系统-3(Windows系统)的终端C为例,确定为测试接口c,从而实现通过测试接口c调用终端C在测试游戏应用的过程中得到的硬件状态数据。
需要说明的是,上述测试接口可以但不限于以SDK形式接入。也就是说,使用引擎测试包在测试上述游戏应用时,通过向与终端匹配的SDK发送调用请求,以调用得到的硬件状态数据。
通过本申请提供的实施例,根据第一终端所运行的系统的系统信息,确定第一终端中用于获取硬件状态数据的测试接口,来调用测试接口以获取硬件状态数据,从而实现通过与终端所运行的系统的系统类型相匹配的测试接口,来快速准确获取硬件状态数据,以保证所获取到的性能测试结果的准确性和测试效率;此外,通过测试接口获取的方式还将利于将上述引擎测试方法扩展到更多不同的硬件设备中,达到提高测试方法的通用性的目的。
作为一种可选的方案,第一获取模块包括:
1)处理子模块,用于重复执行以下步骤,直至使用目标游戏引擎运行的游戏应用结束运行:每隔预定时间段向测试接口发送调用请求;获取测试接口根据调用请求调用到的一组硬件状态数据,其中,一组硬件状态数据中包括:一个或多个状态参数的参数值。
需要说明的是,在本实施例中,上述预定时间段可以但不限于等长的时间,也可以但不限于为不等的时长。也就是说,引擎测试包中的测试程序可以按照一定周期定期通过测试接口调用硬件状态数据,也可以但不限于间隔不同时间段来获取硬件状态数据。
可选地,在本实施例中,上述引擎测试包中的测试程序可以但不限于配置为向测试接口发送调用请求,以通过该测试接口调用第一终端在收到调用请求时测试到的硬件状态数据。其中,在使用引擎测试包测试游戏应用的过程中,上述测试程序可以但不限于每隔预定时间段发送一次调用请求,多次调用请求后将获取到多组硬件状态数据,其中,一组上述硬件状态数据中包括:一个或多个状态参数的参数值,其中,上述多个状态参数可以包括但不限于:第一终端的中央处理器使用率、第一终端中的图形处理器使用率、第一终端的内存使用率、第一终端的电池使用量、游戏应用的帧传输变化率(Framespersecond,简称FPS)。上述仅是一种示例,本实施例中对此不做任何限定。
具体结合图5所示进行说明,如步骤S502,测试程序向测试接口(SDK)发送调用请求,以调用获取SDK在接收到上述调用请求时测试得到的硬件状态数据。在使用引擎测试包测试游戏应用的过程中,每隔预定时间段重复执行一次调用过程,通过多次调用请求获取多组硬件状态数据,如步骤S504,以便于根据上述多组硬件状态数据获取上述待测试的目标游戏引擎的性能测试结果。
通过本申请的实施例,每隔预定时间段向测试接口发送调用请求,以获取待测试的目标游戏引擎的硬件状态数据,从而实现利用上述硬件状态数据来获取目标游戏引擎的性能测试结果,以达到保证性能测试结果的准确性。
作为一种可选的方案,硬件状态数据中包括以下至少一种参数:第一终端的中央处理器使用率、第一终端中的图形处理器使用率、第一终端的内存使用率、第一终端的电池使用量;游戏应用的帧传输变化率。
例如,采集得到的硬件状态数据以电池使用量为例,假设用于测试的第一终端没有插入电源,游戏应用开始测试为t1时刻,SDK接收到测试程序发送的调用请求,响应该调用请求获取当前第一终端的电池电量为b1,在游戏应用的测试进行到t2时刻时,SDK接收到测试程序发送的调用请求,响应该调用请求获取当前第一终端的电池电量为b2。电池使用量可以为Δb,计算公式如下:
Δb=b1–b2 (3)
可选地,在本实施例中,还可以但不限于获取第一终端检测到的状态更新信息,其中,状态更新信息用于指示在游戏应用中目标对象的显示状态被更新;根据状态更新信息获取硬件状态数据,其中,该硬件状态数据包括以下参数:游戏应用的帧传输变化率。其中,上述显示状态包括以下至少之一:目标对象的显示位置、目标对象所执行的动作、目标对象所显示的颜色
需要说明的是,上述帧传输变化率可以但不限于根据游戏应用中目标对象的显示状态的状态更新信息而确定。也就是说,在游戏应用中目标对象的显示状态更新时,游戏应用将触发一次渲染更新,以渲染更新后的画面中的内容。其中,一次渲染更新是一个循环,也是渲染一帧画面的时间。
例如,计算得到的硬件状态数据以帧传输变化率为例。假设在一次显示状态更新的过程中,游戏引擎将获取游戏应用中显示状态更新的内容,假设目标对象被从位置P移动到位置Q,则可触发一次渲染更新,渲染出包含上述显示状态发生更新的目标对象的帧画面。假设游戏引擎会给出渲染一帧图像的时间t,然后可以用以下公式可以计算出帧传输变化率FPS:
FPS=1/t (4)
通过本申请的实施例,获取第一终端的硬件状态数据,以便于根据上述硬件状态数据获取更加准确的目标游戏引擎的性能测试结果,从而保证测试的准确性和全面性。
作为一种可选的方案,第二获取单元606包括:
1)第二获取模块,用于获取使用目标游戏引擎运行的游戏应用的过程中所得到的多组硬件状态数据;
2)第三获取模块,用于根据多组硬件状态数据获取每个状态参数的平均参数值;
3)计算模块,用于对各个状态参数的平均参数值进行加权求和,以得到与目标游戏引擎匹配的性能测试结果。
例如,假设FPS 60帧/s、CPU使用率0%、GPU使用率0%、内存使用率0%作为满分的标准。假设目标游戏引擎为游戏引擎A,在使用游戏引擎A运行游戏应用的过程中得到多组硬件状态数据,根据获取到的多组硬件状态数据,来获取每个状态参数的平均参数值如下:FPS为60帧/s、CPU使用率为50%、GPU使用率为60%、内存使用率为40%。进一步,对各个状态参数的平均参数值进行加权求和,以得到与目标游戏引擎匹配的性能测试结果如下:
Fps得分=测试帧数/60*100
CPU得分=(100%–实际CPU使用率)*100
GPU得分=(100%–实际GPU使用率)*100
内存得分=(100%–实际内存使用率)*100
电池得分=(100%-实际电池使用率)*100
性能测试结果=Fps得分+CPU得分+GPU得分+内存得分+电池得分
通过本申请提供的实施例,通过使用目标游戏引擎运行游戏应用的过程中所得到的多组硬件状态数据,来获取每个状态参数的平均参数值,然后,对各个状态参数的平均参数值进行加权求和,以得到与目标游戏引擎匹配的性能测试结果,从而达到保证引擎测试结果的准确性的效果。
作为一种可选的方案,所述第一获取单元包括:
1)第四获取模块,用于在根据硬件状态数据获取与目标游戏引擎匹配的性能测试结果之后,获取与多个目标游戏引擎分别匹配的多个性能测试结果;
2)比对模块,用于比对获取到的多个性能测试结果;
3)第五获取模块,用于根据比对的结果获取与游戏应用匹配的游戏引擎。
需要说明的是,上述多个目标游戏引擎可以但不限于与游戏应用适配的不同类型的游戏引擎。在获取多个游戏引擎运行游戏应用后得到的多个性能测试结果之后,通过比对上述多个性能测试结果,以获取在运行游戏应用时,性能更佳的游戏引擎,从而实现通过比对性能测试结果,来获取性能明显提升的游戏引擎作为与游戏应用适配的引擎。
实施例3
根据本发明实施例,还提供了一种用于实施上述游戏引擎的性能测试方法的电子装置,如图7所示,该电子装置包括:
1)通讯接口702,设置为获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序;
2)处理器704,与通讯接口702连接,设置为在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据;
3)存储器706,与通讯接口702和处理器704连接,设置为存储目标游戏引擎的性能测试结果。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以位于网络中的多个网络设备中的至少一个网络设备。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S1,获取待测试的目标游戏引擎的引擎测试包,其中,引擎测试包中包括目标游戏引擎及用于测试目标游戏引擎的测试程序;
S2,在第一终端使用目标游戏引擎运行游戏应用的过程中,通过测试程序获取硬件状态数据;
S3,根据硬件状态数据获取目标游戏引擎的性能测试结果。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (11)

1.一种游戏引擎的性能测试方法,其特征在于,包括:
获取待测试的目标游戏引擎的引擎测试包,其中,所述引擎测试包中包括所述目标游戏引擎及用于测试所述目标游戏引擎的测试程序;
在第一终端使用所述目标游戏引擎运行游戏应用的过程中,根据所述第一终端所运行的系统的系统类型,通过所述测试程序确定与所述系统类型相匹配的测试接口;调用所述测试接口以获取硬件状态数据;
在所述第一终端检测到状态更新信息的情况下,根据所述状态更新信息获取所述硬件状态数据;其中,所述状态更新信息用于指示在所述游戏应用中显示状态被更新;
获取使用所述目标游戏引擎运行的所述游戏应用的过程中所得到的多组所述硬件状态数据,根据多组所述硬件状态数据获取每个状态参数的平均参数值,对各个所述状态参数的所述平均参数值进行加权求和,以得到与所述目标游戏引擎匹配的性能测试结果。
2.根据权利要求1所述的方法,其特征在于,所述调用所述测试接口以获取硬件状态数据包括:
重复执行以下步骤,直至使用所述目标游戏引擎运行的所述游戏应用结束运行:
每隔预定时间段向所述测试接口发送调用请求;
获取所述测试接口根据所述调用请求调用到的一组所述硬件状态数据,其中,一组所述硬件状态数据中包括:一个或多个所述状态参数的参数值。
3.根据权利要求2所述的方法,其特征在于,在向所述测试接口发送所述调用请求之后,还包括:
所述测试接口接收所述调用请求;
所述测试接口响应所述调用请求在所述第一终端采集得到一组所述硬件状态数据,其中,采集得到的所述硬件状态数据中包括以下至少一种参数:所述第一终端的中央处理器使用率、所述第一终端中的图形处理器使用率、所述第一终端的内存使用率、所述第一终端的电池使用量;或者,
所述测试接口响应所述调用请求在所述第一终端计算得到一组所述硬件状态数据,其中,计算得到的所述硬件状态数据中包括以下参数:所述游戏应用的帧传输变化率。
4.根据权利要求1所述的方法,其特征在于,在根据所述硬件状态数据获取与所述目标游戏引擎匹配的性能测试结果之后,还包括:
获取与多个所述目标游戏引擎分别匹配的多个所述性能测试结果;
比对获取到的多个所述性能测试结果;
根据比对的结果获取与所述游戏应用匹配的游戏引擎。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述游戏应用包括以下至少之一:二维游戏应用、三维游戏应用、虚拟现实游戏应用、增强现实游戏应用、混合现实游戏应用。
6.一种游戏引擎的性能测试装置,其特征在于,包括:
第一获取单元,用于获取待测试的目标游戏引擎的引擎测试包,其中,所述引擎测试包中包括所述目标游戏引擎及用于测试所述目标游戏引擎的测试程序;
测试单元,用于在第一终端使用所述目标游戏引擎运行游戏应用的过程中,通过所述测试程序获取硬件状态数据;
第二获取单元,用于根据所述硬件状态数据获取所述目标游戏引擎的性能测试结果;
所述测试单元还用于在所述第一终端检测到状态更新信息的情况下,根据所述状态更新信息获取所述硬件状态数据;其中,所述状态更新信息用于指示在所述游戏应用中显示状态被更新;
所述测试单元包括:确定模块,用于根据所述第一终端所运行的系统的系统类型,确定与所述系统类型相匹配的测试接口;第一获取模块,用于调用所述测试接口以获取所述硬件状态数据;
所述第二获取单元包括:第二获取模块,用于获取使用所述目标游戏引擎运行的所述游戏应用的过程中所得到的多组所述硬件状态数据;第三获取模块,用于根据多组所述硬件状态数据获取每个状态参数的平均参数值;计算模块,用于对各个所述状态参数的所述平均参数值进行加权求和,以得到与所述目标游戏引擎匹配的所述性能测试结果。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块包括:
处理子模块,用于重复执行以下步骤,直至使用所述目标游戏引擎运行的所述游戏应用结束运行:每隔预定时间段向所述测试接口发送调用请求;获取所述测试接口根据所述调用请求调用到的一组所述硬件状态数据,其中,一组所述硬件状态数据中包括:一个或多个所述状态参数的参数值。
8.根据权利要求7所述的装置,其特征在于,所述硬件状态数据中包括以下至少一种参数:所述第一终端的中央处理器使用率、所述第一终端中的图形处理器使用率、所述第一终端的内存使用率、所述第一终端的电池使用量、 所述游戏应用的帧传输变化率。
9.根据权利要求6至8中任一项所述的装置,其特征在于,所述第一获取单元包括:
第四获取模块,用于在根据所述硬件状态数据获取与所述目标游戏引擎匹配的性能测试结果之后,获取与多个所述目标游戏引擎分别匹配的多个所述性能测试结果;
比对模块,用于比对获取到的多个所述性能测试结果;
第五获取模块,用于根据比对的结果获取与所述游戏应用匹配的游戏引擎。
10.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序运行时执行所述权利要求1至5任一项中所述的方法。
11.一种电子装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器通过所述计算机程序执行所述权利要求1至5任一项中所述的方法。
CN201710449040.8A 2017-06-14 2017-06-14 游戏引擎的性能测试方法和装置、存储介质及电子装置 Active CN107368410B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710449040.8A CN107368410B (zh) 2017-06-14 2017-06-14 游戏引擎的性能测试方法和装置、存储介质及电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710449040.8A CN107368410B (zh) 2017-06-14 2017-06-14 游戏引擎的性能测试方法和装置、存储介质及电子装置

Publications (2)

Publication Number Publication Date
CN107368410A CN107368410A (zh) 2017-11-21
CN107368410B true CN107368410B (zh) 2021-02-19

Family

ID=60304925

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710449040.8A Active CN107368410B (zh) 2017-06-14 2017-06-14 游戏引擎的性能测试方法和装置、存储介质及电子装置

Country Status (1)

Country Link
CN (1) CN107368410B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108717363B (zh) * 2018-05-25 2021-07-27 广州博冠信息科技有限公司 启动引擎的方法、装置、存储介质及电子装置
CN109271312A (zh) * 2018-08-07 2019-01-25 Oppo广东移动通信有限公司 游戏测试方法及相关产品
CN109117370B (zh) * 2018-08-07 2022-03-29 Oppo广东移动通信有限公司 游戏测试方法及相关产品
CN109395395A (zh) * 2018-09-20 2019-03-01 Oppo广东移动通信有限公司 游戏运行方法及相关产品
CN109828791B (zh) * 2018-12-28 2022-03-22 北京奇艺世纪科技有限公司 一种动画播放方法、终端和计算机可读存储介质
CN109857655B (zh) * 2019-01-17 2022-07-01 珠海金山网络游戏科技有限公司 一种检测美术资源动态性能的方法和系统
CN110377503A (zh) * 2019-06-19 2019-10-25 平安银行股份有限公司 压力测试方法、装置、计算机设备及存储介质
CN110334030B (zh) * 2019-07-11 2024-03-29 深圳市腾讯信息技术有限公司 应用测试方法、装置、终端以及计算机可读存储介质
CN112817839B (zh) * 2020-09-08 2024-03-12 腾讯科技(深圳)有限公司 人工智能引擎测试方法、平台及终端、计算设备和存储介质
CN112100065A (zh) * 2020-09-08 2020-12-18 完美世界(重庆)互动科技有限公司 游戏场景数据的处理方法、装置及设备
CN113656276B (zh) * 2021-08-26 2024-02-09 深圳市腾讯网络信息技术有限公司 一种针对游戏程序的设备性能检测方法和相关装置
CN114445545A (zh) * 2022-01-27 2022-05-06 深圳市慧鲤科技有限公司 一种渲染引擎的测试方法、装置、设备、系统和介质
CN116225969B (zh) * 2023-05-08 2023-06-30 欢喜时代(深圳)科技有限公司 一种游戏运行系统的稳定性测试方法及系统
CN117093466B (zh) * 2023-10-19 2024-01-16 腾讯科技(深圳)有限公司 性能测试方法、装置、电子设备及存储介质
CN117271371B (zh) * 2023-11-10 2024-03-12 腾讯科技(深圳)有限公司 性能测试方法、装置、计算机设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101479756A (zh) * 2006-05-01 2009-07-08 725105不列颠哥伦比亚有限公司 具有可买到和可获得游戏币的经济游戏
CN104965778A (zh) * 2015-04-28 2015-10-07 腾讯科技(深圳)有限公司 游戏测试方法及装置
CN105204988A (zh) * 2014-06-30 2015-12-30 北京安兔兔科技有限公司 电子设备游戏性能的测试方法及系统
US9463386B1 (en) * 2011-11-08 2016-10-11 Zynga Inc. State machine scripting in computer-implemented games

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547957B2 (en) * 2012-10-11 2017-01-17 Scientific Games International, Inc. System and method for implementing internet-based games wherein a plurality of different games share a common prize structure
US9539501B2 (en) * 2012-10-11 2017-01-10 Scientific Games International, Inc. System for implementing internet-based games with a core platform, game modules, and protected game outcome generator
CN104778121B (zh) * 2015-03-25 2018-09-18 网易(杭州)网络有限公司 游戏程序的测试方法、装置及系统
CN106713571A (zh) * 2015-08-20 2017-05-24 广州爱九游信息技术有限公司 一种测试游戏引擎应用的性能的移动终端及方法
CN105653456B (zh) * 2015-12-31 2018-09-11 网易(杭州)网络有限公司 应用程序性能测试方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101479756A (zh) * 2006-05-01 2009-07-08 725105不列颠哥伦比亚有限公司 具有可买到和可获得游戏币的经济游戏
US9463386B1 (en) * 2011-11-08 2016-10-11 Zynga Inc. State machine scripting in computer-implemented games
CN105204988A (zh) * 2014-06-30 2015-12-30 北京安兔兔科技有限公司 电子设备游戏性能的测试方法及系统
CN104965778A (zh) * 2015-04-28 2015-10-07 腾讯科技(深圳)有限公司 游戏测试方法及装置

Also Published As

Publication number Publication date
CN107368410A (zh) 2017-11-21

Similar Documents

Publication Publication Date Title
CN107368410B (zh) 游戏引擎的性能测试方法和装置、存储介质及电子装置
CN110046101B (zh) 页面自动化测试方法、装置及计算机存储介质
US10678665B2 (en) Cloud platform experimentation system
US10991151B2 (en) Game rendering method, terminal, and non-transitory computer-readable storage medium
CN110399307A (zh) 一种测试方法、测试平台及目标服务器
CN107045508B (zh) 应用程序的处理方法和装置
US20140351954A1 (en) Providing limited versions of applications
CN111865708B (zh) 物联网系统的性能测试方法、平台、设备及存储介质
CN111722885B (zh) 程序运行方法、装置以及电子设备
CN111258680B (zh) 资源加载方法和装置、存储介质及电子装置
WO2019072208A1 (zh) 应用程序运行控制方法及设备
CN112783761A (zh) 一种应用程序的冷启动时长测试方法、装置及系统
CN110083433B (zh) 嵌入式软件运行方法及装置、终端和计算机可读存储介质
CN111124567A (zh) 目标应用的操作录制方法和装置
CN111309445A (zh) 程序运行方法和装置及存储介质
CN115309516A (zh) 一种应用生命周期的检测方法、装置及计算机设备
CN109032911B (zh) 用于移动设备的帧率检测方法、装置及电子设备
CN113434173B (zh) 数据处理方法、装置、存储介质和电子设备
CN112748961A (zh) 启动任务的执行方法和装置
CN112675533A (zh) 基于云游戏的用户存档信息获取方法与装置
CN114253823A (zh) 分布式测试方法及相关设备
CN107430532B (zh) 传送用于设备上演示的应用数据
CN111722850A (zh) 多系统间应用的处理方法、装置及系统
CN114398018A (zh) 画面显示方法、装置、存储介质及电子设备
CN110968383B (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