[发明专利]一种检测游戏卡顿帧的方法及装置在审
申请号: | 201910044786.X | 申请日: | 2019-01-17 |
公开(公告)号: | CN109842533A | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | 刘马良;李爱华;胡逸飞 | 申请(专利权)人: | 珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06 |
代理公司: | 广州嘉权专利商标事务所有限公司 44205 | 代理人: | 陈慧华 |
地址: | 519000 广东省珠海市高新*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调用 耗时 游戏卡 帧开始 种检测 时长 文本文件 记录 函数调用 后续版本 游戏测试 游戏 单帧 引擎 测试 查找 输出 返回 监控 维护 | ||
本发明涉及一种检测游戏卡顿帧的方法,适用于基于虚幻4引擎的游戏,属于游戏测试领域。该方法包括如下步骤:使用hook函数监控FEngineLoop::Tick函数的调用,计算每帧调用FEngineLoop::Tick函数的时长得到对应的帧耗时,并记录所有帧的帧耗时;查找帧耗时超过游戏设定帧速率对应的单帧时长的帧。所述hook函数用于执行:FEngineLoop::Tick函数被调用前,记录当前系统时间为帧开始时间;调用FEngineLoop::Tick函数刷新帧;FEngineLoop::Tick函数调用返回时再次记录当前系统时间为帧结束时间;计算帧结束时间与帧开始时间的差值,得到该帧的帧耗时。为了方便后续版本的维护或测试,将FEngineLoop::Tick函数被调用时刻的时间及对应的帧耗时输出至指定路径的文本文件。
技术领域
本发明涉及一种检测游戏卡顿帧的方法及装置,属于计算机游戏测试领域。
背景技术
目前虚幻4引擎(UE4)逐渐流行,许多游戏都已基于该引擎开发发布,例如腾讯研发的《绝地求生刺激战场》、《小米枪战》等等。分析UE4引擎游戏的卡顿状况,研发人员定位卡帧并优化,进而可提升游戏品质。
UE4目前卡帧分析定位主要使用UE4自带的基础工具,例如debug版本可以连UE4Editor,或使用UE4的控制台输入相关命令来进行统计(信息展示在手机屏幕上)。
然而构建UE4Editor较麻烦,且依赖debug版本,对线上已发布的游戏不是很适用。
发明内容
本发明提供一种检测游戏卡顿帧的方法及装置,实现简单,无需依赖UE4Editor,不依赖debug版本,对线上已发布的游戏亦适用。
本发明的技术方案第一方面为一种检测游戏卡顿帧的方法,适用于基于虚幻4引擎的游戏,该方法包括如下步骤:使用hook函数监控FEngineLoop::Tick函数的调用,计算每帧调用FEngineLoop::Tick函数的时长得到对应的帧耗时,并记录所有帧的帧耗时;查找帧耗时超过游戏设定帧速率对应的单帧时长的帧。
作为本技术方案的进一步改进,所述使用hook函数监控FEngineLoop::Tick函数的调用之前还包括:通过测试工具启动运行游戏并从游戏服务器获取游戏线程;测试工具在游戏线程中安装自定义的hook函数。
作为本技术方案的进一步改进,所述hook函数用于执行:FEngineLoop::Tick函数被调用前,记录当前系统时间为帧开始时间;调用FEngineLoop::Tick函数刷新帧;FEngineLoop::Tick函数调用返回时再次记录当前系统时间为帧结束时间;计算帧结束时间与帧开始时间的差值,得到该帧的帧耗时。
作为本技术方案的进一步改进,所述hook函数还用于执行:将FEngineLoop::Tick函数调用时间及对应的帧耗时输出至指定路径的文本文件。
作为本技术方案的进一步改进,所述查找帧耗时超过游戏设定帧速率对应的单帧时长的帧,包括:读取游戏配置获取当前设定的帧速率;根据设定的帧速率计算对应的单帧时长;将记录的所有帧的帧耗时依次与所述单帧时长对比,记录帧耗时超过所述单帧时长的帧信息。
本发明的技术方案第二方面为一种检测游戏卡顿帧的装置,包括:监控模块,用于使用hook函数监控FEngineLoop::Tick函数的调用,计算每帧调用FEngineLoop::Tick函数的时长得到对应的帧耗时,并记录所有帧的帧耗时;对比定位模块,用于查找帧耗时超过游戏设定帧速率对应的单帧时长的帧。
作为本技术方案的进一步改进,该装置还包括:游戏读取模块,通过测试工具启动运行游戏并从游戏服务器获取游戏线程;钩子模块,通过测试工具在游戏线程中安装自定义hook函数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司,未经珠海金山网络游戏科技有限公司;珠海西山居移动游戏科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910044786.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:电子通信系统监测装置
- 下一篇:一种基于交换式FC仿真卡的设备测试验证方法