[发明专利]基于Unity引擎的卡顿自动检测方法其系统在审
申请号: | 201911201172.4 | 申请日: | 2019-11-29 |
公开(公告)号: | CN111078541A | 公开(公告)日: | 2020-04-28 |
发明(设计)人: | 刘美智;李星;李爱华 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;A63F13/60 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 郑晨鸣 |
地址: | 519000 广东省珠海市高新区唐家湾镇前岛环路325号102室*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 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任一所述方法,其特征在于:
采集模块,通过创建虚拟自动机器人对游戏程序运行的游戏场景按照预设规则进行全部遍历;
检测模块,用于在遍历时通过多个接口对游戏场景的进行自动卡顿检测并自动截屏;
评估模块,用于根据自动卡顿检测并自动截屏的图片信息,将采集的图片数据及关联的场景区域发送至服务器,服务器根据检测规则对游戏程序是否合格进行评估。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司,未经珠海金山网络游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911201172.4/1.html,转载请声明来源钻瓜专利网。