CN111309595A - 特效的测试方法、装置、电子设备及计算机可读介质 - Google Patents
特效的测试方法、装置、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN111309595A CN111309595A CN202010057944.8A CN202010057944A CN111309595A CN 111309595 A CN111309595 A CN 111309595A CN 202010057944 A CN202010057944 A CN 202010057944A CN 111309595 A CN111309595 A CN 111309595A
- Authority
- CN
- China
- Prior art keywords
- special effect
- rendering
- target special
- target
- average
- 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
- 230000000694 effects Effects 0.000 title claims abstract description 439
- 238000012360 testing method Methods 0.000 title claims abstract description 120
- 238000009877 rendering Methods 0.000 claims abstract description 351
- 238000000034 method Methods 0.000 claims abstract description 28
- 238000003860 storage Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 238000013075 data extraction Methods 0.000 claims description 7
- 238000010998 test method Methods 0.000 claims description 6
- 230000004048 modification Effects 0.000 abstract description 3
- 238000012986 modification Methods 0.000 abstract description 3
- 238000005457 optimization Methods 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 13
- 230000003068 static effect Effects 0.000 description 13
- 230000006870 function Effects 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
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/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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本公开涉及一种特效的测试方法、装置、电子设备及计算机可读介质,属于计算机技术领域。该方法包括:确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息;将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据;根据所述渲染性能数据得到所述目标特效的测试数据,并将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果。本公开通过将特效组件加载到场景中进行动态的渲染测试,可以快速地定位消耗过高的特效,从而及时地进行优化和修改。
Description
技术领域
本公开涉及计算机技术领域,具体而言,涉及一种特效的测试方法、特效的测试装置、电子设备及计算机可读介质。
背景技术
在游戏中,特效性能的消耗是用来判定游戏性能及效率的一个重要指标。大多数情况下,都是通过限制特效在制作上的一些指标来降低特效在游戏中消耗;另外,在游戏中测试性能的方法,一般都是通过在游戏运行时直接进行性能指标的测试。
然而,在游戏运行时直接进行测试的方法只能检查整个游戏运行时的性能消耗指标,而不能准确定位具体是哪一些特效的消耗过大;而限制特效的制作指标,也不能真实地反映出游戏运行时的实际消耗,因此无法对特效进行有效的优化和修改。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本公开的目的在于提供一种特效的测试方法、特效的测试装置、电子设备及计算机可读介质,进而至少在一定程度上解决特效的测试不准确等问题。
根据本公开的第一个方面,提供一种特效的测试方法,包括:
确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息;
将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据;
根据所述渲染性能数据得到所述目标特效的测试数据,并将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果。
在本公开的一种示例性实施例中,所述确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息,包括:
确定所述目标特效对应的特效对象,根据所述特效对象确定与所述特效对象相对应的多个特效组件,并将多个所述特效组件作为待测试的目标特效;
确定与多个所述特效组件对应的多个数据接口,并通过所述数据接口从所述特效文件中提取与多个所述特效组件相对应的多组特效组件数据信息。
在本公开的一种示例性实施例中,所述将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据,包括:
将所述目标特效中的多个特效组件按照预设渲染次序加载到场景中,其中每个特效组件都按照预设加载个数进行加载;
根据所述特效组件数据信息将场景中的特效组件以预设渲染次数进行渲染,并在每个特效组件渲染完成后,按照所述预设渲染次序加载并渲染下一个特效组件;
统计每个所述特效组件单次渲染的性能数据,作为所述目标特效的渲染性能数据。
在本公开的一种示例性实施例中,所述将所述目标特效中的多个特效组件按照预设渲染次序加载到场景中,包括:
将场景中与所述目标特效中的各个特效组件无关的资源清除,得到用于渲染所述特效组件的空场景;
将所述目标特效中的多个特效组件按照预设渲染次序加载到所述空场景中。
在本公开的一种示例性实施例中,所述渲染性能数据包括单次渲染操作调用次数、单次渲染消耗时间和单次渲染消耗内存;所述目标特效的测试数据包括渲染操作平均调用次数、渲染平均消耗时间和渲染平均内存占用;所述根据所述渲染性能数据得到所述目标特效的测试数据,包括:
将多次渲染得到的多个单次渲染操作调用次数的总和除以所述预设渲染次数,得到多次渲染后所述特效组件对应的渲染操作平均调用次数;
将多次渲染得到的多个单次渲染消耗时间的总和除以所述预设渲染次数,得到多次渲染后所述特效组件对应的渲染平均消耗时间;
获取所述特效组件每次渲染之前的内存消耗,并根据所述特效每次渲染之前的内存消耗以及所述单次渲染消耗内存和所述预设渲染次数得到所述渲染平均内存占用。
在本公开的一种示例性实施例中,所述根据所述特效每次渲染之前的内存消耗以及所述单次渲染消耗内存和所述预设渲染次数得到所述渲染平均内存占用,包括:
将所述特效每次渲染之前的内存消耗减去每次渲染的单次渲染消耗内存得到单次渲染内存占用;
将多次渲染得到的多个单次渲染内存占用的总和除以所述预设渲染次数,得到多次渲染后所述特效组件对应的渲染平均内存占用。
在本公开的一种示例性实施例中,所述测试数据阈值包括渲染操作调用次数阈值、渲染消耗时间阈值和渲染内存占用阈值,所述将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果,包括:
将所述渲染操作平均调用次数与所述渲染操作调用次数阈值进行对比,判断所述渲染操作平均调用次数是否小于所述渲染操作调用次数阈值;
将所述渲染平均消耗时间与所述渲染消耗时间阈值进行对比,判断所述渲染平均消耗时间是否小于所述渲染消耗时间阈值;
将所述渲染平均内存占用与所述渲染内存占用阈值进行对比,判断所述渲染平均内存占用是否小于所述渲染内存占用阈值;
若所述渲染操作平均调用次数小于所述渲染操作调用次数阈值,且所述渲染平均消耗时间小于所述渲染消耗时间阈值,且所述渲染平均内存占用小于所述渲染内存占用阈值,则所述目标特效通过测试。
根据本公开的第二方面,提供一种特效的测试装置,包括:
特效数据提取模块,用于确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息;
目标特效渲染模块,用于将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据;
测试数据对比模块,用于根据所述渲染性能数据得到所述目标特效的测试数据,并将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果。
根据本公开的第三方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述任意一项所述的特效的测试方法。
根据本公开的第四方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项所述的特效的测试方法。
本公开示例性实施例可以具有以下有益效果:
本公开示例实施方式的特效的测试方法中,通过从特效文件中提取目标特效数据信息,并将特效组件加载到场景中进行动态的渲染测试,能够快速且及时地得到每一个特效性能消耗的测试结果,并根据测试结果快速地定位消耗过高的特效,方便测试人员及时对特效进行优化和修改,提高特效测试的准确性以及特效制作和测试过程的效率,同时也能够大大减少测试人员的工作量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本公开示例实施方式的特效的测试方法的流程示意图;
图2示出了本公开示例实施方式的提取目标特效数据信息的流程示意图;
图3示出了本公开示例实施方式的渲染目标特效的流程示意图;
图4示出了本公开示例实施方式的加载特效组件的流程示意图;
图5示出了本公开示例实施方式的得到目标特效测试数据的流程示意图;
图6示出了本公开示例实施方式的计算渲染平均内存占用的流程示意图;
图7示出了本公开示例实施方式的得到目标特效测试结果的流程示意图;
图8示出了根据本公开的一个具体实施方式得到的一种特效动态性能测试装置的结构图;
图9示出了本公开示例实施方式的特效的测试装置的框图;
图10示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
在一些相关的实施例中,特效的测试可以通过对特效的各个制作指标进行静态检测,即直接扫特效文件并解析静态的特效文件,提取需要测试的静态特效指标,包括特效层数、空特效层数、发射器数量、贴图总大小、贴图数量、模型个数、循环次数等参数,然后对各个静态特效指标进行统计输出。静态检测可以快速且直观地看出哪些特效制作的面数过多或者勾选了无尽循环等较为明显的问题。
然而,只对静态文件进行解析,并不能很好地表现出在游戏运行过程中实际的性能消耗,因此,针对上述问题,本示例实施方式中提供了一种对特效进行动态的检测的方法。
本示例实施方式首先提供了一种特效的测试方法。参考图1所示,上述特效的测试方法可以包括以下步骤:
步骤S110.确定待测试的目标特效,并从特效文件中提取目标特效对应的目标特效数据信息。
目标特效是指在所有的特效中选择出的需要进行测试的特效,特效文件是指保存有所有特效的特效数据信息的文件。根据所要测试的目标特效,可以从特效文件中提取出与目标特效对应的目标特效数据信息并进行汇总,以便进行下一步的特效测试。
例如,在游戏中,游戏特效可以包括游戏内英雄动作、技能、装备等特效,游戏特效文件中则保存有英雄动作、技能、装备等特效包含的特效数据信息。若测试人员想要对某一个英雄的某一技能的特效进行测试,则确定待测试的技能特效后,从游戏特效文件中提取该技能特效所对应的特效数据信息。
步骤S120.将目标特效加载到场景中,并根据目标特效数据信息在场景中对目标特效进行渲染,得到目标特效的渲染性能数据。
将目标特效加载到场景中,并根据目标特效的特效数据信息对目标特效进行渲染,可以进行实时的动态检测,对特效实际运行时的性能消耗进行测试。
本示例实施方式中,渲染性能数据包括单次渲染操作调用次数、单次渲染消耗时间和单次渲染消耗内存。
渲染操作调用次数即渲染dp数,dp是指drawcall,是CPU调用图形编程接口来命令GPU进行渲染的操作,一次dp就是调用一次渲染操作,dp数可以用来衡量特效的性能消耗,dp数越大,消耗越大。
渲染消耗时间包括渲染帧时间和逻辑帧时间,其中,渲染帧时间是指渲染一帧画面所用的时间,逻辑帧时间是指控制如何进行渲染操作所用的时间,每渲染一帧画面的渲染消耗时间为渲染帧时间和逻辑帧时间的总和。在游戏中,如果渲染消耗时间过大,有可能会导致游戏卡顿。
渲染消耗内存即实时渲染时的内存占用,在游戏中,如果渲染消耗内存过大,也有可能会导致游戏卡顿。
步骤S130.根据渲染性能数据得到目标特效的测试数据,并将测试数据与测试数据阈值进行对比,得到目标特效的测试结果。
记录单次渲染的渲染性能数据,在每个特效渲染完成的时候,对这些数据进行统计计算得到目标特效的测试数据,并与预先设定的测试数据阈值进行对比。其中,目标特效的测试数据包括渲染操作平均调用次数、渲染平均消耗时间和渲染平均内存占用。
通过上述步骤得到目标特效的测试结果,可以确定具体是哪个特效造成了过多的消耗,以及特效的哪些指标导致消耗过大,从而及时对特效进行优化和修改。
下面,结合图2至图7对本示例实施方式的上述步骤进行更加详细的说明。
在步骤S110中,如图2所示,确定待测试的目标特效,并从特效文件中提取目标特效对应的目标特效数据信息,具体可以包括以下几个步骤:
步骤S210.确定目标特效对应的特效对象,根据特效对象确定与特效对象相对应的多个特效组件,并将多个特效组件作为待测试的目标特效。
特效对象指的是包含有多个对应的多个特效组件的特效主体对象。例如,在游戏中,特效对象可以指某一个英雄,与特效对象相对应的特效组件可以包括该英雄的动画特效、皮肤特效、技能特效、装备特效等。
确定目标特效对应的特效对象,即确定需要进行测试的某个英雄,根据选择的英雄可以索引这个英雄的技能特效+动画特效+会使用到的装备特效,针对该英雄、带皮肤或者不带皮肤、按技能查看或者按特效查看等测试需求,对上述特效组件进行选择并汇总出来作为待测试的目标特效。
步骤S220.确定与多个特效组件对应的多个数据接口,并通过数据接口从特效文件中提取与多个特效组件相对应的多组特效组件数据信息。
本示例实施方式中,每个特效组件可以通过各自的数据接口从特效文件中提取各自指定的特效组件数据信息。
从特效文件中提取目标特效对应的目标特效数据信息之后,可以根据目标特效数据信息对目标特效进行动态的实时渲染,获取目标特效的动态测试结果。
在步骤S120中,如图3所示,将目标特效加载到场景中,并根据目标特效数据信息在场景中对目标特效进行渲染,得到目标特效的渲染性能数据,具体可以包括以下几个步骤:
步骤S310.将目标特效中的多个特效组件按照预设渲染次序加载到场景中,其中每个特效组件都按照预设加载个数进行加载。
本示例实施方式中,特效的动态检测可以将多个特效组件按照预设渲染次序轮流加载到场景中以进行渲染,并且每次将同一个特效组件在同一个场景中加载多个,以放大该特效数据结果的影响。
步骤S320.根据特效组件数据信息将场景中的特效组件以预设渲染次数进行渲染,并在每个特效组件渲染完成后,按照预设渲染次序加载并渲染下一个特效组件。
将同一个特效组件在同一个场景中按照预设加载个数进行加载后,根据特效组件数据信息将场景中的多个特效组件同时以预设渲染次数进行重复渲染。该步骤的目的也是为了放大该特效数据结果的影响,因为单个特效渲染得到的数据的统计结果偏小,不容易看出差别。
步骤S330.统计每个特效组件单次渲染的性能数据,作为目标特效的渲染性能数据。
将每个特效组件单次渲染的性能数据记录下来,并在渲染结束后进行统计,得到目标特效的渲染性能数据。其中,渲染性能数据包括单次渲染操作调用次数、单次渲染消耗时间和单次渲染消耗内存。
在步骤S310中,如图4所示,将目标特效中的多个特效组件按照预设渲染次序加载到场景中,具体可以包括以下几个步骤:
步骤S410.将场景中与目标特效中的各个特效组件无关的资源清除,得到用于渲染特效组件的空场景。
步骤S420.将目标特效中的多个特效组件按照预设渲染次序加载到空场景中。
本示例实施方式中,可以根据上述步骤将场景中所有无关的场景资源都清空,并在空场景中呈现出UI的界面,使各个特效组件在空场景中依次进行渲染,以方便对特效的渲染性能数据进行统计。
在步骤S130中,如图5所示,根据渲染性能数据得到目标特效的测试数据,具体可以包括以下几个步骤:
步骤S510.将多次渲染得到的多个单次渲染操作调用次数的总和除以预设渲染次数,得到多次渲染后特效组件对应的渲染操作平均调用次数。
将统计得到的每个特效组件的多组单次渲染操作调用次数求和后除以预设渲染次数,计算单次渲染操作调用次数的平均值,即渲染操作平均调用次数。
步骤S520.将多次渲染得到的多个单次渲染消耗时间的总和除以预设渲染次数,得到多次渲染后特效组件对应的渲染平均消耗时间。
将统计得到的每个特效组件的多组单次渲染消耗时间求和后除以预设渲染次数,计算单次渲染消耗时间的平均值,即渲染平均消耗时间。
步骤S530.获取特效组件每次渲染之前的内存消耗,并根据特效每次渲染之前的内存消耗以及单次渲染消耗内存和预设渲染次数得到渲染平均内存占用。
特效的渲染平均内存占用可以根据特效组件渲染之前的内存,以及渲染之后的内存计算得到。
在步骤S530中,如图6所示,根据特效每次渲染之前的内存消耗以及单次渲染消耗内存和预设渲染次数得到渲染平均内存占用,具体可以包括以下几个步骤:
步骤S610.将特效每次渲染之前的内存消耗减去每次渲染的单次渲染消耗内存得到单次渲染内存占用。
根据特效组件单次渲染之前的内存以及单次渲染消耗内存的差计算得到单次渲染内存占用。
步骤S620.将多次渲染得到的多个单次渲染内存占用的总和除以预设渲染次数,得到多次渲染后特效组件对应的渲染平均内存占用。
将统计得到的每个特效组件的多组单次渲染内存占用求和后除以预设渲染次数,计算单次渲染内存占用的平均值,即渲染平均内存占用。
得到目标特效的测试数据后,根据目标特效的测试数据以及提前设定的各组测试数据对应的阈值的比较结果,即可得到目标特效的测试结果。
在步骤S130中,测试数据阈值包括渲染操作调用次数阈值、渲染消耗时间阈值和渲染内存占用阈值;如图7所示,将测试数据与测试数据阈值进行对比,得到目标特效的测试结果,具体可以包括以下几个步骤:
步骤S710.将渲染操作平均调用次数与渲染操作调用次数阈值进行对比,判断渲染操作平均调用次数是否小于渲染操作调用次数阈值。
步骤S720.将渲染平均消耗时间与渲染消耗时间阈值进行对比,判断渲染平均消耗时间是否小于渲染消耗时间阈值。
步骤S730.将渲染平均内存占用与渲染内存占用阈值进行对比,判断渲染平均内存占用是否小于渲染内存占用阈值。
步骤S740.若渲染操作平均调用次数小于渲染操作调用次数阈值,且渲染平均消耗时间小于渲染消耗时间阈值,且渲染平均内存占用小于渲染内存占用阈值,则目标特效通过测试。
将渲染操作平均调用次数、渲染平均消耗时间、渲染平均内存占用分别与对应的阈值进行对比,若上述测试数据的值均小于对应的阈值,则说明目标特效的各项指标满足要求,则该目标特效可以通过测试。
本示例实施方式中,判断各项测试数据是否存在问题,可以跟一个标准的特效的统计数据来进行对比,也可以理解为根据实际经验给出的一个平均消耗的参考值,即各项数据对应的阈值。如果某个特效计算出来的平均消耗大于了这个参考值,就说明消耗过大,该特效的制作存在问题。
为了方便测试人员能够快速并及时地查看每一个特效的性能消耗,可以将本公开中特效的动态测试方法应用于一个具体的特效性能测试装置,通过该测试装置对每个特效进行动态的性能测试和静态的指标测试,从而及时地反馈出特效的动态及静态性能指标。为了使用方便,也可以制作UI界面,让测试人员自由选择或组合想要检测的特效组件,例如,可以针对某个英雄、带皮肤或者不带皮肤、按技能查看或者按特效查看等,对特效组件进行分类,这样就可以更快地定位问题所在,随时检测随时进行优化修改。
如图8所示是根据本公开的一个具体实施方式得到的一种特效动态性能测试装置的结构图,是本示例实施方式中的上述步骤的一种应用场景,该装置可以包括以下几个组成部分:数据层810、UI交互层820、中间层830和逻辑层840,各部分的功能如下:
1.数据层810,用来对数据进行提取工作。其中,数据接口模块有获取各种数据的接口,其直接和数据存储模块进行连接,可以读取处理数据。
数据存储模块中的数据来自各种配表中的数据信息,包括游戏内英雄动作、技能、装备等包含的特效文件信息。
数据接口模块中有很多数据接口,用来提取指定的数据信息,例如某个英雄的技能信息、某个技能包含的特效等通用的数据提取接口。
2.UI交互层820,用来给测试人员提供特效的测试显示界面。
3.中间层830,即数据层810、UI交互层820、逻辑层840的中间交互层,当用户在可视化界面(UI)上点击检测某个英雄的所有特效信息,那么UI交互层会传递该信息给中间层830,中间层830会根据用户选择的英雄信息,在关联的列表里扫描出所有会用到的特效,索引该英雄的技能的特效+动画特效+会使用到的装备特效,然后将这些信息汇总出来加入任务处理器中。
4.逻辑层840,可以根据任务处理器的内容进行特效的检测分析,可以执行配置文件加入的任务,即检测任务中特效的各项性能指标。其中可检测的性能指标包括静态指标和动态指标。
基于上述特效动态性能测试装置的静态性能测试方法为:直接解析静态的sfx文件(静态特效文件),提取需要测试的静态特效指标,然后进行统计输出。
基于上述特效动态性能测试装置的动态性能测试方法:将每个特效加载N次,并且重复渲染M次,在每个逻辑帧的时候记录渲染dp数、渲染帧消耗时间、逻辑帧消耗时间、渲染帧和逻辑帧的总消耗时间cost_time、以及渲染内存占用(计算方法为:播放特效之前的内存消耗-播放特效时的内存消耗)。然后在每个特效播放完成的时候对这些数据进行统计计算,得到总消耗时间cost_time的最大值和平均值,渲染dp数的平均值,以及平均内存占用,并根据上述的各个指标与指标阈值的大小,判断特效是否能够通过测试。
应当注意,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
进一步的,本公开还提供了一种特效的测试装置。参考图9所示,该特效的测试装置可以包括特效数据提取模块910、目标特效渲染模块920以及测试数据对比模块930。其中:
特效数据提取模块910可以用于确定待测试的目标特效,并从特效文件中提取目标特效对应的目标特效数据信息;
目标特效渲染模块920可以用于将目标特效加载到场景中,并根据目标特效数据信息在场景中对目标特效进行渲染,得到目标特效的渲染性能数据;
测试数据对比模块930可以用于根据渲染性能数据得到目标特效的测试数据,并将测试数据与测试数据阈值进行对比,得到目标特效的测试结果。
在本公开的一些示例性实施例中,特效数据提取模块910可以包括特效组件确定单元以及组件数据提取单元。其中:
特效组件确定单元可以用于确定目标特效对应的特效对象,根据特效对象确定与特效对象相对应的多个特效组件,并将多个特效组件作为待测试的目标特效;
组件数据提取单元可以用于确定与多个特效组件对应的多个数据接口,并通过数据接口从特效文件中提取与多个特效组件相对应的多组特效组件数据信息。
在本公开的一些示例性实施例中,目标特效渲染模块920可以包括特效组件加载单元、特效组件渲染单元以及性能数据统计单元。其中:
特效组件加载单元可以用于将目标特效中的多个特效组件按照预设渲染次序加载到场景中,其中每个特效组件都按照预设加载个数进行加载;
特效组件渲染单元可以用于根据特效组件数据信息将场景中的特效组件以预设渲染次数进行渲染,并在每个特效组件渲染完成后,按照预设渲染次序加载并渲染下一个特效组件;
性能数据统计单元可以用于统计每个特效组件单次渲染的性能数据,作为目标特效的渲染性能数据。
在本公开的一些示例性实施例中,特效组件加载单元可以包括无关资源清除单元以及空场景特效加载单元。其中:
无关资源清除单元可以用于将场景中与目标特效中的各个特效组件无关的资源清除,得到用于渲染特效组件的空场景;
空场景特效加载单元可以用于将目标特效中的多个特效组件按照预设渲染次序加载到空场景中。
在本公开的一些示例性实施例中,测试数据对比模块930可以包括平均调用次数确定单元、平均渲染时间确定单元以及平均内存占用确定单元。
其中:
平均调用次数确定单元可以用于将多次渲染得到的多个单次渲染操作调用次数的总和除以预设渲染次数,得到多次渲染后特效组件对应的渲染操作平均调用次数;
平均渲染时间确定单元可以用于将多次渲染得到的多个单次渲染消耗时间的总和除以预设渲染次数,得到多次渲染后特效组件对应的渲染平均消耗时间;
平均内存占用确定单元可以用于获取特效组件每次渲染之前的内存消耗,并根据特效每次渲染之前的内存消耗以及单次渲染消耗内存和预设渲染次数得到渲染平均内存占用。
在本公开的一些示例性实施例中,平均内存占用确定单元可以包括单次渲染内存确定单元以及平均渲染内存确定单元。其中:
单次渲染内存确定单元可以用于将特效每次渲染之前的内存消耗减去每次渲染的单次渲染消耗内存得到单次渲染内存占用;
平均渲染内存确定单元可以用于将多次渲染得到的多个单次渲染内存占用的总和除以预设渲染次数,得到多次渲染后特效组件对应的渲染平均内存占用。
在本公开的一些示例性实施例中,测试数据对比模块930还可以包括平均调用次数判断单元、平均渲染时间判断单元、平均渲染内存判断单元以及特效测试通过判断单元。其中:
平均调用次数判断单元可以用于将渲染操作平均调用次数与渲染操作调用次数阈值进行对比,判断渲染操作平均调用次数是否小于渲染操作调用次数阈值;
平均渲染时间判断单元可以用于将渲染平均消耗时间与渲染消耗时间阈值进行对比,判断渲染平均消耗时间是否小于渲染消耗时间阈值;
平均渲染内存判断单元可以用于将渲染平均内存占用与渲染内存占用阈值进行对比,判断渲染平均内存占用是否小于渲染内存占用阈值;
特效测试通过判断单元可以用于若渲染操作平均调用次数小于渲染操作调用次数阈值,且渲染平均消耗时间小于渲染消耗时间阈值,且渲染平均内存占用小于渲染内存占用阈值,则目标特效通过测试。
上述特效的测试装置中各模块/单元的具体细节在相应的方法实施例部分已有详细的说明,此处不再赘述。
图10示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
需要说明的是,图10示出的电子设备的计算机系统1000仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图10所示,计算机系统1000包括中央处理单元(CPU)1001,其可以根据存储在只读存储器(ROM)1002中的程序或者从存储部分1008加载到随机访问存储器(RAM)1003中的程序而执行各种适当的动作和处理。在RAM 1003中,还存储有系统操作所需的各种程序和数据。CPU 1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
以下部件连接至I/O接口1005:包括键盘、鼠标等的输入部分1006;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1007;包括硬盘等的存储部分1008;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1009。通信部分1009经由诸如因特网的网络执行通信处理。驱动器1010也根据需要连接至I/O接口1005。可拆卸介质1011,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1010上,以便于从其上读出的计算机程序根据需要被安装入存储部分1008。
特别地,根据本发明的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1009从网络上被下载和安装,和/或从可拆卸介质1011被安装。在该计算机程序被中央处理单元(CPU)1001执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如下述实施例中所述的方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块的特征和功能可以在一个模块中具体化。反之,上文描述的一个模块的特征和功能可以进一步划分为由多个模块来具体化。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (10)
1.一种特效的测试方法,其特征在于,包括:
确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息;
将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据;
根据所述渲染性能数据得到所述目标特效的测试数据,并将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果。
2.根据权利要求1所述的特效的测试方法,其特征在于,所述确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息,包括:
确定所述目标特效对应的特效对象,根据所述特效对象确定与所述特效对象相对应的多个特效组件,并将多个所述特效组件作为待测试的目标特效;
确定与多个所述特效组件对应的多个数据接口,并通过所述数据接口从所述特效文件中提取与多个所述特效组件相对应的多组特效组件数据信息。
3.根据权利要求2所述的特效的测试方法,其特征在于,所述将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据,包括:
将所述目标特效中的多个特效组件按照预设渲染次序加载到场景中,其中每个特效组件都按照预设加载个数进行加载;
根据所述特效组件数据信息将场景中的特效组件以预设渲染次数进行渲染,并在每个特效组件渲染完成后,按照所述预设渲染次序加载并渲染下一个特效组件;
统计每个所述特效组件单次渲染的性能数据,作为所述目标特效的渲染性能数据。
4.根据权利要求3所述的特效的测试方法,其特征在于,所述将所述目标特效中的多个特效组件按照预设渲染次序加载到场景中,包括:
将场景中与所述目标特效中的各个特效组件无关的资源清除,得到用于渲染所述特效组件的空场景;
将所述目标特效中的多个特效组件按照预设渲染次序加载到所述空场景中。
5.根据权利要求4所述的特效的测试方法,其特征在于,所述渲染性能数据包括单次渲染操作调用次数、单次渲染消耗时间和单次渲染消耗内存;所述目标特效的测试数据包括渲染操作平均调用次数、渲染平均消耗时间和渲染平均内存占用;所述根据所述渲染性能数据得到所述目标特效的测试数据,包括:
将多次渲染得到的多个单次渲染操作调用次数的总和除以所述预设渲染次数,得到多次渲染后所述特效组件对应的渲染操作平均调用次数;
将多次渲染得到的多个单次渲染消耗时间的总和除以所述预设渲染次数,得到多次渲染后所述特效组件对应的渲染平均消耗时间;
获取所述特效组件每次渲染之前的内存消耗,并根据所述特效每次渲染之前的内存消耗以及所述单次渲染消耗内存和所述预设渲染次数得到所述渲染平均内存占用。
6.根据权利要求5所述的特效的测试方法,其特征在于,所述根据所述特效每次渲染之前的内存消耗以及所述单次渲染消耗内存和所述预设渲染次数得到所述渲染平均内存占用,包括:
将所述特效每次渲染之前的内存消耗减去每次渲染的单次渲染消耗内存得到单次渲染内存占用;
将多次渲染得到的多个单次渲染内存占用的总和除以所述预设渲染次数,得到多次渲染后所述特效组件对应的渲染平均内存占用。
7.根据权利要求5所述的特效的测试方法,其特征在于,所述测试数据阈值包括渲染操作调用次数阈值、渲染消耗时间阈值和渲染内存占用阈值,所述将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果,包括:
将所述渲染操作平均调用次数与所述渲染操作调用次数阈值进行对比,判断所述渲染操作平均调用次数是否小于所述渲染操作调用次数阈值;
将所述渲染平均消耗时间与所述渲染消耗时间阈值进行对比,判断所述渲染平均消耗时间是否小于所述渲染消耗时间阈值;
将所述渲染平均内存占用与所述渲染内存占用阈值进行对比,判断所述渲染平均内存占用是否小于所述渲染内存占用阈值;
若所述渲染操作平均调用次数小于所述渲染操作调用次数阈值,且所述渲染平均消耗时间小于所述渲染消耗时间阈值,且所述渲染平均内存占用小于所述渲染内存占用阈值,则所述目标特效通过测试。
8.一种特效的测试装置,其特征在于,包括:
特效数据提取模块,用于确定待测试的目标特效,并从特效文件中提取所述目标特效对应的目标特效数据信息;
目标特效渲染模块,用于将所述目标特效加载到场景中,并根据所述目标特效数据信息在所述场景中对所述目标特效进行渲染,得到所述目标特效的渲染性能数据;
测试数据对比模块,用于根据所述渲染性能数据得到所述目标特效的测试数据,并将所述测试数据与测试数据阈值进行对比,得到所述目标特效的测试结果。
9.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至7中任一项所述的特效的测试方法。
10.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1至7中任一项所述的特效的测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010057944.8A CN111309595B (zh) | 2020-01-16 | 2020-01-16 | 特效的测试方法、装置、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010057944.8A CN111309595B (zh) | 2020-01-16 | 2020-01-16 | 特效的测试方法、装置、电子设备及计算机可读介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111309595A true CN111309595A (zh) | 2020-06-19 |
CN111309595B CN111309595B (zh) | 2024-05-10 |
Family
ID=71148821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010057944.8A Active CN111309595B (zh) | 2020-01-16 | 2020-01-16 | 特效的测试方法、装置、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111309595B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685305A (zh) * | 2020-12-30 | 2021-04-20 | 北京字节跳动网络技术有限公司 | 用户界面性能测试方法及装置、电子设备和可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100057405A1 (en) * | 2008-08-28 | 2010-03-04 | Sony Corporation | Automated software testing environment |
CN108089958A (zh) * | 2017-12-29 | 2018-05-29 | 珠海市君天电子科技有限公司 | Gpu测试方法、终端设备和计算机可读存储介质 |
CN109529329A (zh) * | 2018-11-21 | 2019-03-29 | 北京像素软件科技股份有限公司 | 游戏特效处理方法及装置 |
CN110559659A (zh) * | 2019-07-09 | 2019-12-13 | 深圳市瑞立视多媒体科技有限公司 | 一种游戏渲染优化方法、装置、设备及存储介质 |
-
2020
- 2020-01-16 CN CN202010057944.8A patent/CN111309595B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100057405A1 (en) * | 2008-08-28 | 2010-03-04 | Sony Corporation | Automated software testing environment |
CN108089958A (zh) * | 2017-12-29 | 2018-05-29 | 珠海市君天电子科技有限公司 | Gpu测试方法、终端设备和计算机可读存储介质 |
CN109529329A (zh) * | 2018-11-21 | 2019-03-29 | 北京像素软件科技股份有限公司 | 游戏特效处理方法及装置 |
CN110559659A (zh) * | 2019-07-09 | 2019-12-13 | 深圳市瑞立视多媒体科技有限公司 | 一种游戏渲染优化方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112685305A (zh) * | 2020-12-30 | 2021-04-20 | 北京字节跳动网络技术有限公司 | 用户界面性能测试方法及装置、电子设备和可读存储介质 |
CN112685305B (zh) * | 2020-12-30 | 2024-02-09 | 抖音视界有限公司 | 用户界面性能测试方法及装置、电子设备和可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111309595B (zh) | 2024-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455396B (zh) | 电子设备硬件性能的测试方法及装置 | |
WO2018103245A1 (zh) | 一种界面卡顿监测方法、装置及可读取存储介质 | |
CN109471805B (zh) | 资源测试方法及装置、存储介质、电子设备 | |
WO2015043527A1 (zh) | 电子设备性能的测试方法及装置 | |
CN108376117B (zh) | 交互响应的测试方法和设备 | |
US20120232845A1 (en) | Method and apparatus for determining processor performance | |
CN111563014A (zh) | 接口服务性能测试方法、装置、设备和存储介质 | |
CN107193747B (zh) | 代码测试方法、装置和计算机设备 | |
CN110781063B (zh) | 网页首屏时间的测量方法、装置、设备及存储介质 | |
CN111309595B (zh) | 特效的测试方法、装置、电子设备及计算机可读介质 | |
CN111127223B (zh) | 保险产品测试方法、装置和存储介质 | |
CN111523764A (zh) | 业务架构检测方法、装置、工具、电子设备和介质 | |
CN107066364A (zh) | 性能检测方法及装置 | |
CN110544166A (zh) | 样本生成方法、装置及存储介质 | |
CN114257523B (zh) | 用户感知预测方法、系统、设备和计算机存储介质 | |
CN109271377A (zh) | 一种数据质量检测方法及装置 | |
CN114387241A (zh) | 动画效果检测方法、装置、电子设备和存储介质 | |
CN113656314A (zh) | 压力测试处理方法及装置 | |
CN113010493A (zh) | 一种数据质量在线分析方法、装置、机器可读介质及设备 | |
CN114266941A (zh) | 一种快速检测图像样本标注成果数据方法 | |
CN111143346B (zh) | 标签组的差异性确定方法、装置、电子设备及可读介质 | |
CN107239391B (zh) | 一种应用程序的测试方法、装置及终端 | |
CN111427874A (zh) | 医疗数据生产的质控方法、装置以及电子设备 | |
CN114546199B (zh) | 一种图像处理方法、装置、电子设备和存储介质 | |
CN112559102A (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 |