首页 / 专利库 / 人工智能 / 虚拟界面 / 基于Unity引擎的卡顿自动检测方法其系统

基于Unity引擎的卡顿自动检测方法其系统

阅读:93发布:2020-05-08

专利汇可以提供基于Unity引擎的卡顿自动检测方法其系统专利检索,专利查询,专利分析的服务。并且本 发明 涉提供了一种基于Unity引擎的卡顿自动检测方法及系统,包括:创建虚拟自动 机器人 ,所述虚拟自动机器人用于对游戏程序运行的游戏场景按照预设规则进行全部遍历;虚拟自动机器人在遍历时通过多个 接口 对游戏场景的进行自动卡顿检测并自动截屏;虚拟自动机器人自动卡顿检测并自动截屏,将采集的图片数据及关联的场景区域发送至 服务器 ,服务器根据检测规则对游戏程序是否合格进行评估。本发明的有益效果为:通过自动化统计FPS、检测卡顿、截游戏卡顿画面保存和上传至服务器自动分析统计,无人工干预,开发人员可以直接得到游戏整体卡顿百分比及详细的分布图,并根据卡顿的游戏画面,快速重现,从而针对性地进行游戏优化,提高游戏流畅性。,下面是基于Unity引擎的卡顿自动检测方法其系统专利的具体信息内容。

1.一种基于Unity引擎的卡顿自动检测方法,其特征在于,该方法包括以下步骤:
S100,创建虚拟自动机器人,所述虚拟自动机器人用于对游戏程序运行的游戏场景按照预设规则进行全部遍历;
S200,虚拟自动机器人在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;
S300,虚拟自动机器人自动卡顿检测并自动截屏,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。
2.根据权利要求1所述的基于Unity引擎的卡顿自动检测方法,其特征在于,所述预设规则包括根据游戏场景大小、虚拟自动机器人视广度及视距按照最优路线进行全部遍历。
3.根据权利要求1所述的基于Unity引擎的卡顿自动检测方法,其特征在于,所述卡顿检测包括:
根据不同的游戏设置对应的FPS阈值,读取当前游戏场景的FPS值并进行截屏记录,FPS值低于FPS阈值则表示在该场景时卡顿。
4.根据权利要求1所述的基于Unity引擎的卡顿自动检测方法,其特征在于,所述卡顿检测具体包括:
调用函数CalcFPS()计算当前的FPS,使用Unity引擎提供的Time.deltaTime参数,上一帧到现在的时间消耗,1/Time.deltaTime即为当前帧的FPS值;
调用函数Detect()检测卡顿,读取设置对应的FPS阈值与当前帧的FPS值进行对比。
5.根据权利要求1所述的基于Unity引擎的卡顿自动检测方法,其特征在于,所述自动截图具体包括:
通过FrameFunc()的函数监听Unity的WaitForEndOfFrame事件,此事件标志Unity每帧结束;
在FrameFunc()函数中使用第一步的三个函数,先调用CalcFPS()计算当前帧FPS,将FPS作为参数调用Detect()函数,得到当前帧是否卡顿,如果卡顿则调用SaveScreen()函数将当前游戏画面保存。
6.根据权利要求1所述的基于Unity引擎的卡顿自动检测方法,其特征在于,所述S200具体包括:
虚拟自动机器人完成遍历并且游戏程序结束时,将所有保存的卡顿的游戏画面图片上传至服务器,服务器实现脚本自动分析统计卡顿图片,帧率分布及卡顿游戏画面;
统计卡顿百分比,计算上游戏运行中总共卡顿的帧数,除以总游戏帧数即为卡顿百分比,如果卡顿百分比高于设定值则提示游戏不合格。
7.根据权利要求1所述的基于Unity引擎的卡顿自动检测方法,其特征在于,所述S200还包括:
以游戏运行的帧号作为横坐标,卡顿时的FPS作为纵坐标,绘制帧率分布图,将帧率图通过可视界面进行显示。
8.一种基于Unity引擎的卡顿自动检测系统,所述检测系统用于执行权利要求1-7任一所述方法,其特征在于:
采集模,通过创建虚拟自动机器人对游戏程序运行的游戏场景按照预设规则进行全部遍历;
检测模块,用于在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;
评估模块,用于根据自动卡顿检测并自动截屏的图片信息,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。

说明书全文

基于Unity引擎的卡顿自动检测方法其系统

技术领域

[0001] 本发明属于计算机游戏领域,具体涉及了基于Unity引擎的卡顿自动检测方法及系统。

背景技术

[0002] Unity游戏引擎是当前最流行的手机游戏开发工具,非常多的热手机游戏均基于该引擎进行开发。对于用户的体验,游戏的运行流畅程度及其重要,因此,我们需要在开发过程中对游戏的卡状况进行检测。现有技术对于卡帧的检测分析主要通过Unity自带的基础工具,例如在Debug版本中,可以连接Unity的编辑器或导出Unity的Profiler数据并进行深度解析来进行FPS的统计;上述方法虽然在一定程度上解决了现有不足,但仍存在诸如全程人工操作、测试方式简陋、测试信息不完整等弊端;另如获取游戏图像RGB值的方法进行卡顿的检测,此方法能有戏自动检测卡顿,但需要游戏将FPS信息输出在画面,但大部分手机游戏在发布时是不会输出FPS在游戏界面。如何更有效地检测手机游戏的FPS状况,是当前急需解决的技术问题。

发明内容

[0003] 本发明的目的在于至少解决现有技术中存在的技术问题之一,提供了基于Unity引擎的卡顿自动检测方法其系统,实现了自动统计FPS、自动检测卡顿、自动截屏、自动将卡顿信息上传至服务器并进行分析。
[0004] 本发明的技术方案包括一种基于Unity引擎的卡顿自动检测方法,其特征在于,该方法包括以下步骤:S100,创建虚拟自动机器人,所述虚拟自动机器人用于对游戏程序运行的游戏场景按照预设规则进行全部遍历;S200,虚拟自动机器人在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;S300,虚拟自动机器人自动卡顿检测并自动截屏,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。
[0005] 根据所述的基于Unity引擎的卡顿自动检测方法,其中预设规则包括根据游戏场景大小、虚拟自动机器人视广度及视距按照最优路线进行全部遍历。
[0006] 根据所述的基于Unity引擎的卡顿自动检测方法,其中卡顿检测包括:根据不同的游戏设置对应的FPS阈值,读取当前游戏场景的FPS值并进行截屏记录,FPS值低于FPS阈值则表示在该场景时卡顿。
[0007] 根据所述的基于Unity引擎的卡顿自动检测方法,其中卡顿检测具体包括:调用函数CalcFPS()计算当前帧的FPS,使用Unity引擎提供的Time.deltaTime参数,上一帧到现在的时间消耗,1/Time.deltaTime即为当前帧的FPS值;调用函数Detect()检测卡顿,读取设置对应的FPS阈值与当前帧的FPS值进行对比。
[0008] 根据所述的基于Unity引擎的卡顿自动检测方法,其中自动截图具体包括:
[0009] 通过FrameFunc()的函数监听Unity的WaitForEndOfFrame事件,此事件标志Unity每帧结束;在FrameFunc()函数中使用第一步的三个函数,先调用CalcFPS()计算当前帧FPS,将FPS作为参数调用Detect()函数,得到当前帧是否卡顿,如果卡顿则调用SaveScreen()函数将当前游戏画面保存。
[0010] 根据所述的基于Unity引擎的卡顿自动检测方法,其中S200具体包括:虚拟自动机器人完成遍历并且游戏程序结束时,将所有保存的卡顿的游戏画面图片上传至服务器,服务器实现脚本自动分析统计卡顿图片,帧率分布及卡顿游戏画面;统计卡顿百分比,计算上游戏运行中总共卡顿的帧数,除以总游戏帧数即为卡顿百分比,如果卡顿百分比高于设定值则提示游戏不合格。
[0011] 根据所述的基于Unity引擎的卡顿自动检测方法,其中S200还包括:以游戏运行的帧号作为横坐标,卡顿时的FPS作为纵坐标,绘制帧率分布图,将帧率图通过可视界面进行显示。
[0012] 本发明的技术方案还包括一种基于Unity引擎的卡顿自动检测系统,所述检测系统用于执行上述任一所述方法,其特征在于:采集模,通过创建虚拟自动机器人对游戏程序运行的游戏场景按照预设规则进行全部遍历;检测模块,用于在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;评估模块,用于根据自动卡顿检测并自动截屏的图片信息,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。
[0013] 本发明的有益效果为:通过自动化统计FPS、检测卡顿、截游戏卡顿画面保存和上传至服务器自动分析统计,无人工干预,开发人员可以直接得到游戏整体卡顿百分比及详细的分布图,并根据卡顿的游戏画面,快速重现,从而针对性地进行游戏优化,提高游戏流畅性。附图说明
[0014] 下面结合附图和实施例对本发明进一步地说明;
[0015] 图1所示为根据本发明实施方式的总体流程图
[0016] 图2所示为根据本发明实施方式的总体系统框图

具体实施方式

[0017] 本部分将详细描述本发明的具体实施例,本发明之较佳实施例在附图中示出,附图的作用在于用图形补充说明书文字部分的描述,使人能够直观地、形象地理解本发明的每个技术特征和整体技术方案,但其不能理解为对本发明保护范围的限制。
[0018] 在本发明的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0019] 本发明的描述中,除非另有明确的限定,设置等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0020] 图1所示为根据本发明实施方式的总体流程图。具体包括:S100,创建虚拟自动机器人,所述虚拟自动机器人用于对游戏程序运行的游戏场景按照预设规则进行全部遍历;S200,虚拟自动机器人在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;S300,虚拟自动机器人自动卡顿检测并自动截屏,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。
[0021] 基于图1所示的流程,本发明提出了以下的具体实施方式,包括:
[0022] 第一步:使用C#实现自动统计FPS、检测卡顿、自动截屏功能函数。实现函数CalcFPS()计算当前帧的FPS,如使用Unity提供的Time.deltaTime参数,上一帧到现在的时间消耗,1/Time.deltaTime即为当前帧。实现函数Detect()检测卡顿,读取游戏卡顿标准,游戏不同档次定义的卡顿FPS阈值一般不同,如高画质游戏卡顿FPS阈值为15,如果当前帧的FPS低于15,则判定当前帧卡顿。实现函数SaveScreen()自动截游戏屏幕并保存,以作游戏优化分析定位用途,使用Unity接口ScreenCapture.CaptureScreenshotAsTexture()进行截屏,并以当前帧数Time.frameCount和当前FPS值组合作为文件名进行保存,如当前为第1000帧,当前帧的FPS为10,则文件名为“1000_10.png”。
[0023] 第二步:编写Unity C#插件,实现名称为FrameFunc()的函数监听Unity的WaitForEndOfFrame事件,此事件标志Unity每帧结束。在FrameFunc()函数中使用第一步的三个函数,先调用CalcFPS()计算当前帧FPS,将FPS作为参数调用Detect()函数,得到当前帧是否卡顿,如果卡顿则调用SaveScreen()函数将当前游戏画面保存。
[0024] 第三步:游戏退出时,将所有保存的卡顿的游戏画面图片上传至服务器,服务器实现脚本自动分析统计卡顿图片,帧率分布及卡顿游戏画面。统计卡顿百分比,计算上传的图片数量,即为游戏运行中总共卡顿的帧数,除以总游戏帧数即为卡顿百分比,如果百分比高于10%,则可定为游戏不合格,需要优化。画质游戏的帧率分布,以游戏运行的帧号作为横坐标,卡顿时的FPS作为纵坐标,可以绘制出清晰的帧率分布图。如果游戏需要进一步优化,按卡顿的FPS从低到高进行排序,FPS越低表示卡顿越严重,找到对应的游戏画面表现图片,辅助开发人员快速重现位置,以进一步分析优化。
[0025] 第四步:运行手机游戏,机器人自动跑地图,可以得到所有游戏卡顿的信息。
[0026] 图2所示为根据本发明实施方式的总体系统框图。该系统包括:采集模块,通过创建虚拟自动机器人对游戏程序运行的游戏场景按照预设规则进行全部遍历;检测模块,用于在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;评估模块,用于根据自动卡顿检测并自动截屏的图片信息,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。
[0027] 上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈