原理

FPS的计算

CoreAnimation有一个很好用的类CADisplayLink,这个类会在每一帧绘制之前调用,并且可以获取时间戳。于是,我们只要统计出,在1s内的帧数即可。

- (void)envokeDisplayLink:(CADisplayLink *)displayLink{
if (_lastTimestamp == -1) {
_lastTimestamp = displayLink.timestamp;
return;
}
_countPerFrame ++;
NSTimeInterval interval = displayLink.timestamp - _lastTimestamp;
if (interval < 1) {
return;
}
_lastTimestamp = displayLink.timestamp;
CGFloat fps = _countPerFrame / interval;
//...
}

内存和CPU信息的获取

CPU和内存的获取采用了mach头文件中的方法,调用了底层API,采用C方式来获取。

最新文章

  1. linux软连接和硬链接
  2. phantomjs和angular-seo-server实现angular单页面seo
  3. List之Union(),Intersect(),Except()
  4. jquerymobile页面跳转和参数传递
  5. jstl格式化数字
  6. Java Hour7
  7. MFC版美女找茬
  8. 为什么Redis比Memcached易
  9. zabbix 监控mysql主从
  10. Centos 如何 发布Java项目
  11. 云计算openstack共享组件(2)——Memcache 缓存系统
  12. 图片上传组件webuploader
  13. Python中的变量作用域
  14. 网络操作系统 第十章 DNS服务器管理与配置
  15. wireshark抓包工具详细说明及操作使用
  16. javascript 跨域 的几种方法
  17. OWA (Office Web Access)
  18. python类属性在继承中的修改的影响
  19. EF实现主从表自动生成主键保存
  20. Qt编写的RTSP播放器+视频监控(ffmpeg版本)

热门文章

  1. 《精通Spring4.X企业应用开发实战》读后感第六章(内部工作机制、BeanDefinition、InstantiationStrategy、BeanWrapper)
  2. GET POST区别不同情况
  3. .NET中的泛型委托
  4. Torando 入门
  5. 为什么源码中很多方法就一行throw new RuntimeException(&quot;Stub!&quot;)
  6. html5增强的页面元素
  7. JSP读取Oracle数据库里的图片Blob字段并显示在页面上
  8. Github网站css加载不出来的处理方法(转,亲测有效)
  9. javascript数组常用的遍历方法
  10. lintcode-dfs实现二叉树的层序遍历