美文网首页实用工具
一句代码加入FPS检测(卡顿监控)

一句代码加入FPS检测(卡顿监控)

作者: dimsky | 来源:发表于2016-08-29 03:07 被阅读1418次

玩游戏的童鞋肯定会知道FPS,这里要说的不是First-person shooting game), 而是 FPS (Frames Per Second)每秒传输帧数,目前主流的手机屏幕刷新帧数为60fps,iPhone 也是。
屏幕的fps 越高,显示效果就越流畅,对硬件GPU的要求也就越高。

目前主流的硬件已经可以在4K显示器上流畅的跑60fps了,手机也不例外,以黑科技著称的大法 Xperia Z5 已经证明了一切。但是在iPhone 的分辨率一直维持在1080P 以内,可能也是考虑到手机应用的软件与硬件的平衡,持相对保守的态度,所以iOS 开发者相对于其他移动开发者也能更容易的开发出流畅的应用。但是,如果在开发的过程中没有合理的使用API,或者程序的漏洞,也会导致应用的卡顿,下面我们通过一行代码即可监控应用的FPS。

Cocoapods:

pod 'XFPS'

使用:

XFPS.shared.enable = true
FPS

Demo 可以在这里下载到。

实现

实现非常简单,这里主要通过 CADisplayLink 与RunLoop 结合使用来进行卡顿监控,通过前后帧的时间差,计算出丢失的帧,通过硬件的60fps 减去丢失的帧 得到当前帧数。
我们知道产生卡顿的原因有很多,过多的透明、圆角、高度计算。
在Demo 中,通过Core Graphics对cell 中的图片不停的绘制 压榨GPU 制造明显卡顿,来使帧数下降。

因为有时候轻微的卡顿并不是每个人都能感觉出来的,这个小工具仅仅是用来方便快速的检测App的流畅性,还有更详细更专业的性能检测还是需要用 Instuments 来做,能够实时查看到 CPU 和GPU 的信息,并可以看到所有与显示相关的数据,能更精确地定位到界面卡顿的问题。

Premature optimization is the root of all evil. - Donald Knut

相关文章

  • 一句代码加入FPS检测(卡顿监控)

    玩游戏的童鞋肯定会知道FPS,这里要说的不是First-person shooting game), 而是 FPS...

  • 卡顿优化

    发现卡顿点 1. 使用instruments分析工具: 可以找到耗时多的代码 2. 使用代码,添加FPS监控 通过...

  • 卡顿检测资料

    微信iOS卡顿监控系统 卡顿方案思考 卡顿检测 移动端监控体系之技术原理 iOS性能检测

  • iOS监控卡顿

    监控FPS FPS :Frames Per Second 的简称缩写,意思是每秒传输帧数,FPS值越低就越卡顿,所...

  • iOS开发中的卡顿分析

    市面上的iOS卡顿分析方案有三种:监控FPS、监控RunLoop、ping主线程。 方案一:监控FPS 一般来说,...

  • iOS通过runloop监控卡顿

    质量监控-卡顿检测iOS实时卡顿监控基于Runloop简单监测iOS卡顿的demo微信iOS卡顿监控系统iOS-R...

  • 监控卡顿-FPS

    1 在主线程开启CADisplayLink调用函数displayLinkTick。 2 在displayLinkT...

  • Matrix-iOS 卡顿、内存监控 (一)

    Matrix-iOS 卡顿监控Matrix-iOS 内存监控 一、卡顿检测 Matrix-iOS 在addMoni...

  • iOS UI线程卡顿监控总结

    1 通过 FPS 值 观察 ,大概的发现是哪个页面 发生了卡顿。(不准确) 2 监控 runloop 状态: k...

  • 性能优化:屏幕卡顿优化

    一、屏幕成像原理及屏幕卡顿原因二、屏幕卡顿优化三、定量监测屏幕FPS四、定位卡顿效果五、定位耗时代码六、果然好客服...

网友评论

    本文标题:一句代码加入FPS检测(卡顿监控)

    本文链接:https://www.haomeiwen.com/subject/okdxettx.html