游戏软件性能的可视分析方法与流程

文档序号:12120541阅读:369来源:国知局
游戏软件性能的可视分析方法与流程

本发明涉及计算机游戏软件的性能分析技术领域,特别是涉及一种游戏软件的可视性能分析方法。



背景技术:

计算机游戏产业的快速发展驱使着硬件的不断革新,从台式图形硬件到移动手持游戏设备等都不断地在更新,以支持对场景的清晰度及分辨率要求越来越高的各类计算机游戏。有许多因素可能会影响玩家的游戏体验,包括分辨率、网络延迟及游戏渲染帧率等。考察这些因素对游戏的整体可玩性的影响有着非常重要的意义。随着游戏的普及,游戏设计者迫切需要设计出一款能够迎合广泛且多元的市场环境的游戏产品。因此,理解不同的玩家是如何与游戏进行交互和体验是十分必要的。

在诸多的因素中,游戏渲染帧率最为关键,它决定了游戏的整体平稳性及沉浸感。游戏开发者往往会尽最大努力去提高渲染帧率,但伴随而来的则是以牺牲分辨率为代价,导致游戏场景的失真。不仅如此,游戏硬件(GPU、CPU及RAM等)的多样性,会导致同一个游戏运行时产生不一样数值的渲染帧率。

综上所述,游戏开发者都在尽最大限度地利用硬件条件,并基于充分理解它们与游戏渲染帧率的基础上,为玩家提供一个平稳逼真的 游戏运行环境。关于游戏帧率数据及性能分析相关的可视分析技术,主要可以从以下两个方面进行阐述:游戏性能分析方法及游戏数据可视化方法。

1.游戏性能研究

1.1游戏性能研究现有技术的技术方案

分辨率、网络延迟及渲染帧率等许多因素均会影响玩家的游戏体验。这里着重讨论渲染帧率的影响。许多基于渲染帧率的研究都是关于视频质量方面,它们研究了不同的帧率是如何影响用户观看视频时的体验。还有一些技术是衡量用户从不同质量视频中获取信息的学习能力。然而,之前工作所讨论的视频与我们这里的计算机游戏有着很大不同。观看视频,甚至是开视频会议等,对实时交互的要求都比不上计算机游戏。Claypool等人提出了第一人称射击游戏的基于不同交互要求的一种独特的分类方法,使得可以通过对帧率的定量分析观察它们对玩家游戏的影响。这些技术大致集中在研究不同范围的帧率是如何影响玩家的游戏体验及游戏表现的。

1.2游戏性能研究现有技术的缺点

之前的工作仅仅是研究不同范围的帧率产生的不同影响,并没有对游戏的整体性能进行定量的评估。本发明提出了一个游戏性能数据的可视分析框架,将深度分析与直观的可视化集成为一套完整的解决方案,为分析游戏性能提供了一种科学且定量的评价准则。

2.游戏数据可视化技术

2.1游戏数据可视化技术的方案

可视化技术是使用计算机支持的交互及动态视觉显示去展示数据的内部特征,以获得新的观点并形成假设性结论。Wallner等人对现有关于游戏数据可视化方面进行了一个文献综述,然而,游戏数据可视化仍然处于比较初级的阶段。对一款计算机游戏的数据去设计一个可视化方案,首先要考虑的是它面向的用户。当系统面向的目标用户是游戏开发组及游戏分析师时,从软件可视化衍生过来的技术,比如日志追踪、程序结构及运行时的行为等均可能适用。另一个与游戏可视化紧密相关的新型领域是运动比赛数据的可视化技术,不论是在数据方面,还是在目标用户及用户可能关心的问题方面,运动与计算机游戏都有着许多相似的特征。

2.2游戏数据可视化技术的缺点

游戏数据大部分都具有时空属性,因此,许多时空可视化技术被频繁地使用在游戏数据当中,例如热力图等。Wallner等提出了一种可视分析系统—PLATO,对与时间相关且高维的游戏数据进行分析。这个系统集成了许多技术,诸如子图匹配、路径寻找、数据比较与聚类及一些其它的可视化技术。然而,Wallner等人的工作集成了太多视图,反而对某些特定的分析工作不深入。Dinara等人使用可视化技术研究计算机游戏中玩家的行为,去理解其中潜在的模式,并且该系统支持聚类与比较分析。然而,它们的可视化方案都仅仅使用了最基础的视图,如柱状图、饼图等等,这些视图对于分析游戏性能数据还远远不够。

而与游戏相关的运动数据可视化技术方面,已有的工作也少之又 少。Medler等人从统计图表的角度分析了运动及计算机游戏数据,然而,可视化在这方面的潜力仍然被低估,在为数不多的工作中,TennisViewer及TenniVis对网球比赛数据进行了可视化研究,而近来Cox和Stasko等利用信息可视化技术中的柱状图及树图去挖掘棒球比赛中隐藏的信息,这些工作均与游戏性能数据方面区别很大。

以上背景技术内容的公开仅用于辅助理解本发明的发明构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。



技术实现要素:

本发明的目的在于提出一种游戏软件的可视性能分析方法,以解决上述现有技术存在的不能真正帮助设计人员定位潜在问题进而做出改进决策的技术问题。

为此,本发明提出一种游戏软件性能的可视分析方法,包括如下步骤:

A.将游戏软件场景划分为多个网格;

B.映射帧率值至所述多个网格;

C.通过热力图将具有不同帧率值的网格映射为相应的颜色,得到帧率分布视图;

D.基于所述多个网格的帧率值分布,计算游戏软件场景在不同区域的性能差异值,并绘制性能比较视图。

优选地,所述可视分析方法还包括定量评估游戏软件在不同测试阶段的性能差异的步骤,所述性能差异通过以下式(1)和式(2)计算得到,

其中,numm表示网格m中的采样点数量,N表示在游戏测试k中采样点数量之和,n是所有被纳入性能计算的网格数量,fpsk表示游戏测试k的总体性能帧率,fpsm表示网格m的性能帧率;

其中,fpsk表示游戏测试k的总体性能帧率,fpsk+1表示游戏测试k+1的总体性能帧率,fpsd表示两次游戏测试(k和k+1)的性能差异,m、N和k均为自然数,1≤k≤200。

优选地,所述可视分析方法还包括剔除样板中的偏离值的步骤。

优选地,所述剔除样本中的偏离值的方法包括:

S1.获取两条原始游戏性能差异曲线数据样本;

S2.计算相关系数;

S3.构造相系数组;

S4.费希尔Z变化及标准化;

S5.构造方差数组;

S6.构造卡方统计量;

S7.查看偏离值,如存在显著差异,则删除原始数据中对应的数值后返回步骤S2;如不存在显著差异则认定为相关系数真实稳定。

优选地,所述剔除样本中的偏离值的方法包括:

1)假设两条性能差异曲线分别为X=(x1,x2,...,xn)和Y=(y1,y2,...,yn),首先进行皮尔森相关系数r(X,Y)计算,

其中,是性能差异曲线X的平均值,是性能差异曲线Y的平均值;

2)配对删除并构造相关系数组

在x1,x2,...,xn和y1,y2,...,yn中,分别去掉第i(i=1,2,...,n)对数据(xi,yi),将余下的(n-1)对样本分别记为Xi=X\xi和Yi=Y\yi,其相关系数为ri=r(Xi,Yi),样本的相关系数组记为(r1,r2,...,rn);

3)对该相关系数组进行费希尔Z变换,使之正态化,再进行标准化,使得方差为1,得到经过正态化标准化后的相关系数组(rz1,rz2,...,rzn);

此时,相关系数组的方差sr变为sr=1;

4)构造方差数组及构造卡方统计量,在(rz1,rz2,...,rzn)中,依次去掉第i(i=1,2,...,n)个值rzi,求余下n-1个值的方差从而得到方差数组

5)逐个考察方差数组中与sr=1的差异是否显著,原假设H0和备选假设H1分别为:

构造统计量

优选地,所述步骤A中的网格大小设为用户可调节。

优选地,所述步骤C中,按照暖色表示低帧率值而冷色表示高帧率值的方式映射相应的颜色。

优选地,所述可视分析方法还包括定量评估游戏软件场景性能的步骤,首先,确定所述网格的大小和采样点阈值,计算落入所述网格的平均帧率和采样数,然后依式(3)计算获得游戏场景性能得分score,

其中,n为所有满足条件的网格数量,fpsi为该网格的平均帧率,sample_num为该网格的采样数量,total_sample为满足条件的网格所有的采样数总和。

本发明与现有技术对比的有益效果包括:通过结合游戏场景划分及热力图等可视分析手段,本发明可帮助设计师及开发人员定位游戏软件中潜在的问题,并做出可行的改进决策,以实现游戏软件合理的资源调度/利用。

在优选的技术方案中,还对游戏的性能进行定量评估,实现了现有技术所不能实现的定量评估。

附图说明

图1是本发明可视性能分析方法的工作流程示意图;

图2a、2b、2c、2d分别是网格大小为5、10、20、50时的帧率热力图(屏幕截图);

图3a、3b分别是两次测试的帧率分布图(屏幕截图,提示文字显示的是选择的网格区域内上次测试及本次测试的采样数及平均帧率);

图4是本发明具体实施方式—交互删除的相关系数检验方法—的流程图;

图5a、5b、5c、5d、5e、5f、5g、5h、5i分别是原始数据的相关系数视图、原始数据的方差视图、原始数据的卡方检验视图、删除了第1个数据之后的相关系数视图、原始数据的方差视图、原始数据的卡方检验视图、删除了第8个数据之后的相关系数视图、原始数据的方差视图、原始数据的卡方检验视图(屏幕截图)。

具体实施方式

缩略语和关键术语定义:

GPU:Graphics Processing Unit,图形处理单元,俗称显卡;

CPU:Central Processing Unit,中央处理器;

RAM:Random-Access Memory,随机存取存储器,俗称内存;

MMO-RPG:Massive Multi-player online role-playing game,大型多人在线角色扮演游戏;

NPC:Non-player characters,非玩家人物;

FPS:Frame per second,每秒帧数,俗称帧率。

如图1所示,是本实施例可视性能分析方法的简要工作流程示意图,当加载性能数据完毕后,帧率分布视图首先会展示所有时间步下的帧率的整体分布情况,并且支持用户交互,使得用户可以随意查看游戏场景上任何区域的帧率分布情况。为了对比不同测试阶段相同游戏场景的性能,本实施例在性能比较视图中给用户提供了定量的评价标准和评估结果,并支持用户的交互迭代分析过程,用户的交互又会同时影响评价的模型参数,迭代若干次后,最终得到了游戏场景性能的评估结果。

热力图,可以非常直观地呈现一些原来不容易理解或表达的数据,比如密度、频率、温度等,改用区域和颜色这种更容易被人理解的方式进行呈现。本发明通过区分高密度区域与低密度区域,最后用梯度模板确定各个区域的疏密情况。梯度模板,就是一个从中心到四周灰度值逐渐过渡变化的图片,利用梯度模板在整个背景图片上结合坐标游走后,就能绘制出所需的梯度图,图上各个区域的疏密情况就能了如指掌。然后使用颜色条,根据疏密的取值不同,将从蓝到红过渡的RGB值映射到梯度图中。首先用一个全局变量来记录当前数据中最高的帧率,然后在画热力图时,用这个全局变量减去这个最高的帧率值,并采用相应的算法,绘制出热力图。实践中发现,日志数据中经常会有一些异常点,如帧率值非常高,接近200左右等等,这些数据的引入会导致最后热力图的极度不平衡(这个异常点所在的区域汇集了大量的数据,而使得其它区域非常不明显),因此需要事先把高帧率的进行处理,统一成适当的帧率值(譬如60帧)或把个别数 据舍弃。

此外,热力图一直以来以其抽象模糊的表达被许多用户诟病,数值映射为颜色导致的信息模糊,不能体现出具体的数值分布。本发明则通过累积百分比或数量分布图的方式交互给出,从而既能得到宏观的概貌,也有具体的数值分布。

对于某一款游戏的某一次测试,可以结合帧率数据及其附加的坐标数据,分析出地图上帧率低的位置,并通过热力图的概貌能够大致了解整个场景的帧率分布。然而,如果要对比前后两次测试地图场景的性能是上升还是下降,是哪个问题造成的(引擎性能、美术资源、策划玩法、玩家数量等等),则不得而知,如果单独对两次测试的数据进行性能跟踪,用上述的方法重复做两遍,只能大概得到一个性能差异的定性的判断,依然无法确定问题所在。基于此,发明人将帧率性能研究继续深化,结合前后两次测试数据进行分析。具有而言,记录两次测试同一场景中某个坐标下前后两次帧率信息,即在这个坐标上的帧率值及数量。由于大多数情况下,两次测试在同一个坐标上均有帧率信息的记录是非常少的,因此有必要将地图切分成一个个大小可调节的网格,将坐标归并到这个大小可控制的网格内。由此,可将坐标点上的平均帧率转化成了网格的平均帧率,每次调节网格大小时,落入此网格内的帧率信息需要重新计算,即可得到该网格的平均帧率,继而映射为帧率热力图。如下图2所示,分别是网格大小分别为5,10,20,50时,各坐标依次归并到其最相近的网格内,然后计算出落入此网格所有记录的帧率平均值。

发明人还进一步提出了以下技术方案:即针对两次测试的性能差异,将两次测试的帧率数据在一幅图中显示并且将那些性能上升或下降的区域明显地标识出来。具体而言,是将两次测试的帧率热力图相同坐标上的像素值相减,并映射到两种颜色过渡构成的颜色条,差值为正的映射为蓝色系空间,差值为负的映射为红色系空间,如下图3所示。

前述已经宽泛地阐述了本发明的特征和构思,以便能够更好地理解本发明的详细描述。

下面结合具体实施方式并对照附图对本发明作进一步详细说明。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

本实施例的游戏软件性能的可视分析方法,包括如下步骤:

A.将游戏软件场景划分为多个网格;

B.映射帧率值至所述多个网格;

C.通过热力图将具有不同帧率值的网格映射为相应的颜色,得到帧率分布视图;

D.基于所述多个网格的帧率值分布,计算游戏软件场景在不同区域的性能差异值,并绘制性能比较视图。

所述帧率分布视图可以展示当前帧率的整体分布,并且支持用户交互调节参数设置,从而影响最终的帧率分布结果。首先,本发明将游戏场景地图划分为由许多固定大小的网格组成,然后,将不同坐标上的帧率值映射到这些网格之中。本发明使用的是平均帧率值来代表 每个网格的具体数值,最后我们使用热力图将具有不同数值的网格映射为不同的颜色,暖色表示低帧率值而冷色表示高帧率值。由于在真实游戏中,游戏场景地图是由许许多多的不同大小的区域组成,然而,在数据层面,我们确定不了每块区域的真实大小,为了简化计算,我们将场景地图划分为用户可调节大小的网格组成。因此,帧率数值会根据它的坐标值落在不同的网格中,因此,不同的网格包含了数量不同的采样点。不具有统计意义的网格是不应该被纳入计算过程中的,因此,我们提供给用户可以调节采样点阈值的交互功能。

此外,得到了每个网格的平均帧率,可以根据这个网格所占的采样数占全部采样数的权重,继而计算出该场景的性能评分。在处理时可设置一个采样点阈值,把采样点数量较低的网格过滤掉,因数量太少并无统计意义。

性能比较视图用于可视化两次游戏测试中的性能数据差异,指出在哪些场景区域性能及采样分布有明显的变化,并且提供了一种定量的游戏性能评价方法,以帮助用户分析游戏性能是否改善或者下降。如果我们独立地分析两次游戏测试的性能数据,也许可以得到一个较为模糊的感觉,但仍然无法准确地判断哪些区域有比较明显的性能变化,或者准确定位潜在的问题。因此,为了定量地衡量两次游戏测试的性能差异,本发明制定了一种范式,去衡量各个区域的性能差异,从而得到整体的性能差异情况。考虑到不同网格内采样点数量的不同,本发明定义场景的整体性能可由如下式(1)获得:

numm表示网格m中的采样点数量,N表示在游戏测试k中采样点数量之和,n是所有被纳入性能计算的网格数量,fpsk表示游戏测试k的总体性能帧率,fpsm表示网格m的性能帧率。

因此,两次游戏测试(k和k+1)的性能差异由如下式(2)获得:

其中,fpsk表示游戏测试k的总体性能帧率,fpsk+1表示游戏测试k+1的总体性能帧率。

场景性能总得分可以由如下式(2)获得:

其中,n为所有满足条件的网格数量,fpsi为该网格的平均帧率,sampl_num为该网格的采样数量,total_sample为满足条件的网格所有的采样数总和,两次测试的性能差异用“(本次测试性能得分-上次测试性能得分)/上次测试性能得分”表示。

由于性能差异结果受到网格大小与采样点阈值的影响,为了帮助用户最终确定两次游戏测试的性能差异,我们固定一系列采样阈值(10、50、100等),采样阈值的选取是根据该游戏场景的数据量决定的,譬如依次对网格大小从1到200进行循环,或对于某些尺寸较小的游戏场景地图,网格大小从1到100进行循环。当采样阈值为10时,分别计算当网格大小为1,2,3等时的场景总体性能帧率,然后根据式(2)计算性能差异值,由此,我们得到了一系列由不同采样阈值及网格大小生成的性能差异值。

然而,不同的采样阈值及网格大小会对性能差异结果产生不稳定的波动影响,为了得到更为真实稳定的性能差异值,我们采用的一种交互删除的相关系数检验方法(交互删除,即用户在系统界面中交互选取某一偏离点进行删除),经验方法的流程如图4所示,对于两次游戏测试产生的性能曲线(不同的采样阈值下对一系列网格大小进行循环产生的性能差异值),首先进行相关性分析,如果这两条性能差异曲线强相关,则它们与采样阈值无关,可以用每个网格对应的性能值的均值来代表最终的性能差异。然而,在实际的实验中,有可能会出现一些偏离值(即波动较明显的值)会影响整体的性能差异曲线,因此,在进行相关性分析之前,需要将这些偏离值排除掉。为了排除偏离值对相关系数的影响,本实施例提出了一种交互迭代式删除以构造相关系数组的方法,用一种简便、客观的分析方法,去剔除样本中影响相关系数的偏离值,从而客观定量地检验样本线性相关系数的真实性和稳定性,使计算得到的样本相关系数更加真实可靠。

图4所示的交互删除的相关系数经验方法包括如下步骤:

首先是获取两条原始游戏性能差异曲线数据样本101(即两次游戏测试产生的性能曲线),然后计算相关系数102,构造相关系数组103,通过费尔希Z变换及标准化104,再构造方差数组105,并构造卡方统计量106,最后通过交互迭代式剔除构造相关系数组的方法来确定偏离值107(即通过交互确定波动较大的偏离值),并判断是否存在显著差异108。如存在,则删除原始数据中对应的数值109,并返回至前面计算相关系数步骤再次进行相关的计算;如不存在显著差 异,则判断为相关系数真实稳定。

所述交互迭代式剔除构造相关系数组的方法的具体计算过程如下:

1)假设两条性能差异曲线分别为X=(x1,x2,...,xn)和Y=(y1,y2,...,yn),首先进行皮尔森相关系数r(X,Y)计算,其中是性能差异曲线X的平均值,是性能差异曲线Y的平均值:

2)配对删除并构造相关系数组

在x1,x2,...,xn和y1,y2,...,yn中,分别去掉第i(i=1,2,...,n)对数据(xi,yi),将余下的(n-1)对样本分别记为Xi=X\xi和Yi=Y\yi,其相关系数为ri=r(Xi,Yi),样本的相关系数组记为(r1,r2,...,rn)。然后对这个相关系数组进行费希尔Z变换,使之正态化,再进行标准化,使得方差为1以方便后续计算,得到经过正态化标准化后的相关系数组(rz1,rz2,...,rzn),此时,相关系数组的方差sr变为sr=1。

3)构造方差数组及构造卡方统计量,考察方差数组的波动性是否发生变化。

在相关系数组(rz1,rz2,...,rzn)中,依次去掉第i(i=1,2,...,n)个值rzi(rzi表示经过正态化标准化后的相关系数),求余下n-1个值的方差从而得到方差数组然后逐个考察方差数组中与sr=1的差异是否显著(即是否存在显著性差异)。原假设H0和备选假设H1分别为:

构造统计量

然后,本实施例使用交互的方式去迭代原假设H0和备选假设H1的配对删除过程,当用户交互删除掉一个偏离值后,会重新动态生成删除后的新的性能差异曲线,继续重复以上步骤直到没有显著的偏离值存在,最后得到的结果可以被认为是稳定可靠的相关系数。确定好最终的相关系数后,使用余下的网格对应的性能差异值求取性能差异平均值作为最终的性能差异值,如图5a-5i所示。

本实施例的交互迭代删除定量衡量游戏性能差异方法,采样阈值分别为10和50,图5a是原始数据的相关系数视图、图5b是原始数据的方差视图,图5c是原始数据的卡方检验视图,图5d、5e、5f分别是删除了第1个数据后的相关系数视图、方差视图及卡方检验视图,图5g、5h、5i分别是删除了第8个数据后的相关系数图、方差视图及卡方检验视图。删除了第一个数据后,相关系统视图、方差视图及卡方检验视图的波动变小,删除了第8个数据后,三个视图的波动更加稳定,证明删除了偏离值后余下的采样样本更加可信,从而计算出的最终性能差异更加可靠。

所述显著性差异(significant difference)是一个统计学名词,它是统计学上对数据差异性的评价。它的技术标准是这样的:通常情况下,实验结果达到0.05水平或0.01水平才可以说数据之间具备了显著差异或是极显著。在做结论时,应确实描述方向性(例如显著大于 或显著小于)。sig值(显著性差异值)通常用P>0.05表示差异性不显著;0.01<P<0.05表示差异性显著;P<0.01表示差异性极显著。这里我们是检验实验中测得的数据,那么当数据之间具备了显著性差异,实验的原假设就可被推翻,对立假设成立;反之若数据之间不具备显著性差异,则实验的对立假设可以被推翻,原假设得到支持。在这里,给定显著性水平α,依次对方差数组中的每个值进行x2检验,如果某个sri所对应的检验统计量处于拒绝域中,则拒绝原假设,认为在相关系数组(rz1,rz2,...,rzn)中去掉rzi时,相关系数组波动性发生了显著变化,即原始样本中数据对(xi,yi)对样本相关系数r的影响比较显著;若所有检验统计量都存在于接受域中,则可认为相关系数组的波动性没有受到任何值的影响,即相关系数组中无离群值存在,样本相关系数r真实稳定,可以代表总体相关系数。本发明是使用交互式的方法去选取偏离值进行删除,并不是按传统的方法,完全交给x2检验去完成,这样可以消除影响,获得更加真实可靠的样本系数。

本领域技术人员将认识到,对以上描述做出众多变通是可能的,所以实施例仅是用来描述一个或多个特定实施方式。

尽管已经描述本发明的示范实施例,本领域技术人员明白,可以对其作出各种改变和替换,而不会脱离本发明的精神。另外,可以做出许多修改以将特定情况适配到本发明的构思,而不会脱离在此描述的本发明中心概念。所以,本发明不受限于在此披露的特定实施例,可能还包括属于本发明范围的所有实施例及其等同物。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1