YYFPSLabel
YYFPSLabel copied to clipboard
YYKit 中显示界面 FPS 小组件的源码探讨
YYFPSLabel
YYText 中计算当前界面每秒帧数FPS的小组件,见:YYText/Demo/YYTextDemo/YYFPSLabel
对于源码的学习和探讨:
主要原理
YYFPSLabel 实现思路:
CADisplayLink默认每秒 60次;- 将
CADisplayLinkadd 到mainRunLoop中; - 使用
CADisplayLink的timestamp属性,在CADisplayLink每次 tick 时,记录上一次的timestamp; - 用 _count 记录
CADisplayLinktick 的执行次数; - 计算此次 tick 时,
CADisplayLink的当前 timestamp 和 _lastTimeStamp 的差值; - 如果差值大于1,fps = _count / delta,计算得出 FPS 数;
详见 代码
深入探讨
Demo 效果:
