[发明专利]一种程序卡顿的处理方法以及卡顿处理装置有效
申请号: | 201911096865.1 | 申请日: | 2019-11-11 |
公开(公告)号: | CN110825466B | 公开(公告)日: | 2021-11-02 |
发明(设计)人: | 刘俊辉;魏学峰;严明;周洪斌;徐宇挺;彭斌;程景 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F9/448 | 分类号: | G06F9/448 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 吴磊 |
地址: | 518057 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 程序 处理 方法 以及 装置 | ||
本申请公开了一种卡顿处理的方法以及卡顿处理装置,通过获取程序运行时每个程序帧的执行时间;然后根据帧卡顿识别模型确定所述程序帧中的卡顿帧;并分别记录卡顿帧中多个执行函数的函数执行时间;进而上传卡顿信息至服务器,以对所述程序的卡顿进行处理。从而实现了通过程序执行信息获取卡顿信息的过程,使得卡顿信息可以在服务器进行分析处理,仅获取卡顿帧的执行函数信息可以减少系统资源的利用率,以及待处理的数据量,可以快速的实现卡顿信息的确定,进而提高卡顿处理的效率。
技术领域
本申请涉及计算机技术领域,尤其涉及一种程序卡顿的处理方法以及卡顿处理装置。
背景技术
随着移动终端相关技术的发展,越来越多的智能设备出现在人们的生活中,其中,游戏是一种主要的终端应用程序,人们需要实时的掌握游戏运行过程中的运行状态以做出优化,保证游戏运行顺畅。
一般,采用相关的客户端性能测试工具采集游戏客户端每一帧函数执行时间,然后将采集到的每一帧的函数执行时间数据需要开发人工去查看判断,以得到处理建议。
但是,对整个测试场景每一帧的函数执行时间,这会消耗大量的CPU资源,对游戏性能影响非常大,使得函数执行时间的参考意义降低;且测出的函数执行时间数据量非常大,开发拿到数据后需要人工去排查可能存在卡顿的帧,并对该帧进行单帧分析,查看该帧下所有函数的执行时间,并做出人工判断,效率低下。
发明内容
有鉴于此,本申请第一方面提供一种程序卡顿的处理方法,可应用于静态数据库的系统或程序过程中,具体包括:终端设备获取程序运行时每个程序帧的执行时间;
所述终端设备根据帧卡顿识别模型确定所述程序帧中的卡顿帧,所述卡顿帧包括多个执行函数;
所述终端设备分别记录所述多个执行函数的函数执行时间;
所述终端设备上传卡顿信息至服务器,以对所述程序的卡顿进行处理,所述卡顿信息包括所述卡顿帧和所述多个执行函数的函数执行时间。
优选的,在本申请一些可能的实现方式中,所述终端设备获取程序运行时每个程序帧的执行时间,包括:
所述终端设备确定所述程序负载的引擎;
所述终端设备确定所述引擎对应的通用函数执行入口;
所述终端设备通过所述通用函数执行入口获取所述程序运行时所述多个帧的执行时间。
优选的,在本申请一些可能的实现方式中,所述终端设备分别记录所述多个执行函数的函数执行时间,包括:
所述终端设备确定所述多个执行函数之间的调用关系,以确定函数层级;
所述终端设备根据所述函数层级分别记录各层级下执行函数的函数执行时间。
优选的,在本申请一些可能的实现方式中,所述终端设备分别记录所述多个执行函数的函数执行时间,包括:
所述终端设备确定所述卡顿帧的栈帧;
所述终端设备根据所述栈帧获取所述栈帧所属的执行函数、执行函数参数信息或所述执行函数代码的起始地址,以记录所述执行函数的函数执行时间。
优选的,在本申请一些可能的实现方式中,所述终端设备上传所述函数执行时间至服务器,以对所述程序的卡顿进行处理之前,所述方法还包括:
所述终端设备确定所述程序中所有的所述程序帧执行完成。
优选的,在本申请一些可能的实现方式中,所述帧卡顿识别模型基于时延阈值设定,所述终端设备根据帧卡顿识别模型确定所述程序帧中的卡顿帧,包括:
所述终端设备获取所述程序帧的所述函数执行时间;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911096865.1/2.html,转载请声明来源钻瓜专利网。