[发明专利]一种IOS卡顿的监控方法及系统在审
| 申请号: | 201911404105.2 | 申请日: | 2019-12-31 |
| 公开(公告)号: | CN111240926A | 公开(公告)日: | 2020-06-05 |
| 发明(设计)人: | 冯继强;丁捷 | 申请(专利权)人: | 苏州极光无限信息技术有限公司 |
| 主分类号: | G06F11/30 | 分类号: | G06F11/30 |
| 代理公司: | 北京轻创知识产权代理有限公司 11212 | 代理人: | 王欢 |
| 地址: | 215000 江苏省苏州市工*** | 国省代码: | 江苏;32 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 ios 监控 方法 系统 | ||
本发明涉及一种IOS卡顿的监控方法及系统,包括以下步骤:S1:有渲染任务时,先在GPU中建立新的第一图层;S2:通过所述第一图层将绘制指令从后台提交到GPU;S3:在CPU中建立监控GPU第一子线程,通过所述第一子线程对GPU进行卡顿监控,本发明在接到渲染指令时,建立一个新的图层Layer,该图层layer可以从后台线程将绘制指令提交给GPU,从而不占用主线程的Runloop,也就不会影响CPU卡顿的监控,从而实现独立监控GPU的帧处理频率。
技术领域
本发明涉及一种IOS卡顿的监控方法及系统,属于IOS应用技术领域。
背景技术
目前各大公司都有了自己的IOS(苹果公司的移动操作系统)平台困顿监控方案,基本原理都是利用一个单独的子线程来定时的监控主线程的RunLoop(是接收处理异步消息事件的循环)状态来计算屏幕刷新率,这样的方案主要解决的是主线程的CPU(中央处理器,central processing unit)占用率过高导致的卡顿,目前App的卡顿原因多种多样,主线程CPU耗时过久只是其中一种原因,GPU(图形处理器,Graphics Processing Unit)的瓶颈导致的卡顿也是一个重要的原因,现有的方案无法监控GPU的瓶颈,掩盖了真实的原因,导致问题的排查更加困难。
发明内容
本发明要解决的技术问题是:为克服上述问题,提供一种能够独立监控CPU和GPU的性能指标的IOS卡顿的监控方法及系统。
本发明解决其技术问题所采用的技术方案是:
一种IOS卡顿的监控方法,包括以下步骤:
S1:有渲染任务时,先在GPU中建立新的第一图层;
S2:通过所述第一图层将绘制指令从后台提交到GPU;
S3:在CPU中建立监控GPU第一子线程,通过所述第一子线程对GPU进行卡顿监控。
优选地,还包括处理保存步骤S4:在CPU中建立新的处理子线程,通过所述处理子线程处理所述第一子线程输出的GPU处理频率,并将结果作为监听数据保存。
优选地,所述步骤S2中,所述第一图层在执行渲染任务时,先调取draw方法,在调取同时,将数据发送给第一子线程,之后所述第一图层再进行渲染。
优选地,所述步骤S3中,所述第一子线程在获取第一图层的数据后,计算次数/时间,得到GPU的处理频率。
优选地,所述步骤S4中,所述处理子线程获得第一子线程的GPU处理频率后,先进行处理,并记录堆栈上下文,然后渲染结果到UI,最后将数据作为监听数据保存到文件。
一种IOS卡顿的监控系统,包括:
渲染处理模块:有渲染任务时,先在GPU中建立新的第一图层,并通过所述第一图层将绘制指令从后台提交到GPU;
监控模块:在CPU中建立监控GPU的第一子线程,通过所述第一子线程对GPU进行卡顿监控。
优选地,还包括:
监控存储模块:在CPU中建立新的处理子线程,通过所述处理子线程处理所述第一子线程输出的GPU处理频率,并将结果作为监听数据保存。
本发明的有益效果是:本发明在接到渲染指令时,建立一个新的图层Layer,该图层layer可以从后台线程将绘制指令提交给GPU,从而不占用主线程的Runloop,也就不会影响CPU卡顿的监控,从而实现独立监控GPU的帧处理频率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明一个实施例的流程图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州极光无限信息技术有限公司,未经苏州极光无限信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911404105.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种绳弹发射装置
- 下一篇:一种高密轻薄双面针织纬编绸的生产工艺





