• Stars
    star
    193
  • Rank 201,081 (Top 4 %)
  • Language
    Objective-C
  • License
    MIT License
  • Created over 8 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

YYKit 中显示界面 FPS 小组件的源码探讨

YYFPSLabel

YYText 中计算当前界面每秒帧数FPS的小组件,见:YYText/Demo/YYTextDemo/YYFPSLabel

对于源码的学习和探讨:

主要原理

YYFPSLabel 实现思路:

  • CADisplayLink 默认每秒 60次;
  • CADisplayLink add 到 mainRunLoop 中;
  • 使用 CADisplayLinktimestamp 属性,在 CADisplayLink 每次 tick 时,记录上一次的 timestamp
  • 用 _count 记录 CADisplayLink tick 的执行次数;
  • 计算此次 tick 时, CADisplayLink 的当前 timestamp 和 _lastTimeStamp 的差值;
  • 如果差值大于1,fps = _count / delta,计算得出 FPS 数;

详见 代码

深入探讨

iOS查看当前界面帧数

Demo 效果: