ios查看帧率的软件_查看iOS屏幕帧数MGFPSStatus
在状态栏显示FPS状态,FPS是一秒钟渲染多少帧 Frame Per Second = FPS,FPS值为55~60最佳,低于这个范围就较为卡顿了。
使用方法
#if defined(DEBUG) || defined(_DEBUG)
// 添加FPSStatus
[[MGFPSStatus shareInstance] show];
#endif
状态栏MGFPSStatus
FPSStatus.m
@implementation MGFPSStatus {
// 顶部FPSLabel
UILabel *_fpsLabel;
CADisplayLink *_displayLink;
NSTimeInterval _lastTime;
NSUInteger _count;
UIColor *_fpsColor;
}
+ (instancetype)shareInstance
{
static MGFPSStatus *_instance;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_instance = [[MGFPSStatus alloc] init];
});
return _instance;
}
- (instancetype)init
{
self = [super init];
if (self) {
// 创建label
_fpsLabel = [[UILabel alloc] initWithFrame:CGRectMake(([UIScreen mainScreen].bounds.size.width)/2+30, 0, 50, 20)];
// _fpsLabel.text = @"23344";
_fpsLabel.font = [UIFont systemFontOfSize:12];
_fpsLabel.layer.cornerRadius = 5;
_fpsLabel.clipsToBounds = YES;
_fpsLabel.textAlignment = NSTextAlignmentCenter;
_fpsLabel.userInteractionEnabled = NO;
_fpsLabel.backgroundColor = [UIColor colorWithWhite:1.000 alpha:0.700];
// 创建定时器
_displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(tick:)];
[_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
}
return self;
}
- (void)tick:(CADisplayLink *)link {
// 第一次
if (_lastTime == 0) {
_lastTime = link.timestamp;
return;
}
_count++;
NSTimeInterval delta = link.timestamp - _lastTime;
if (delta < 1) return;
_lastTime = link.timestamp;
float fps = _count / delta;
_count = 0;
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"%d FPS",(int)round(fps)]];
// 根据卡顿程度显示颜色
if (fps >= 55.0) {
_fpsColor = [UIColor greenColor];
} else if (fps>=50 && fps<55) {
_fpsColor = [UIColor yellowColor];
} else {
_fpsColor = [UIColor redColor];
}
[text addAttribute:NSForegroundColorAttributeName value:_fpsColor range:NSMakeRange(0, text.length - 3)];
[text addAttribute:NSForegroundColorAttributeName value:[UIColor blackColor] range:NSMakeRange(text.length - 3, 3)];
_fpsLabel.attributedText = text;
}
- (void)dealloc
{
[_displayLink invalidate];
NSLog(@"release");
}
- (void)show {
[[UIApplication sharedApplication].keyWindow addSubview:_fpsLabel];
}
@end
参考资料
ios查看帧率的软件_查看iOS屏幕帧数MGFPSStatus相关推荐
- ios查看帧率的软件_程序员必看!直播软件开发弱网下保障高清流畅推流的方法...
通常情况下程序员在开发直播软件时,优化卡顿和延迟是比较多的,只要是优化欠佳,就会导致前端APP运行出问题,为了帮助程序员在开发过程中能更加合理有效的优化,小编在这里从开发的层面简要介绍一下影响直播体验 ...
- 查看Python的版本_查看当前安装Python的版本
一.查看Python的版本_查看当前安装Python的版本 具体方法: 首先按[win+r]组合键打开运行: 然后输入cmd,点击[确定]: 最后执行[python --version]命令即可. 特 ...
- 什么软件可以测试吃鸡帧数,好奇实验室:内存频率影响吃鸡帧数有多大?
现在内存条的价格飙升到让人很难接受的地步了,低频高频条的价格差距非常大,在实际游戏体验中究竟有何差距呢?到底花高价买高频内存条划不划算?今天我们就分别使用两种内存频率来针对<绝地求生:大逃杀&g ...
- ios查看帧率的软件_iOS实时流畅性监控
移动APP开发,性能一直是我们关心的重要话题,Xcode提供了一些方便的工具检测性能问题,但是这些工具使用并不方便,一般只有在发现性能问题的时候我们才会使用这些工具.快速的发现性能问题,有助于我们主动 ...
- ios签名软件_使用ios企业签名需要准备哪些?
ios企业签名是给需要在ios系统使用的APP所使用的,不能通过上架的app可以通过签名的方式让用户在ios系统中使用该app,那么对于ios企业证书,我们需要提供什么东西来进行签名呢?下面一起来看看 ...
- vista怎么看计算机配置,查看电脑配置软件_无需软件 三方法查看电脑配置
摘要 腾兴网为您分享:无需软件 三方法查看电脑配置,自动刷宝,悬浮球,鑫钱袋,问作业等软件知识,以及嗨皮直播,公积金app,语音朗读小说阅读器,left4dead2,河北云教育服务,pandahelp ...
- 什么软件可以测试吃鸡帧数,RTX 3080 有多大升级必要?绝地求生帧数实测
对于剪辑师和游戏者来说,显卡是其生产力的工具.对于一些游戏UP主来说更是如此,他们不仅平时需要进行游戏录制视频素材,更是需要显卡的强大渲染能力来完成视频剪辑.那么使用RTX 3080显卡对于渲染和游戏 ...
- 最大扇入数怎么判断_全面提高游戏帧数的方法!
本次为大家带来的是全面优化提高游戏帧数的步骤详解.通常情况下,硬件平台所发挥的性能极限不足以满足体验者对当前游戏的帧数期望时,玩家们一般是通过降低画质的方式令帧数得到缓解提高,这一操作也是最正常不过的 ...
- 安卓投屏软件_安卓iOS屏幕一键投射,安利几款超好用的投屏软件
在投屏软件的使用方面,小编可以说是颇有心得,投屏软件不只用于看电影和追剧,还可以用于商务.教育和直播等多种场景,尤其是游戏主播可以直接把手机投屏到大屏幕上,这样直播展示就方便多了.就直播来说,对画 ...
- ios开发 架子鼓功能开发_适用于iOS开发人员的功能标志
ios开发 架子鼓功能开发 When building modern applications, things tend to move quite quickly. When you add mul ...
最新文章
- 解决js中数字相减为负数的情况
- 12)登录验证函数简单编写验证
- java中抽象类与抽象方法的使用问题
- 顺义教委携手华平共建视频图像综合管理平台
- [mybatis]sqlSessionFactory.openSession()
- 深入react技术栈(9):表单
- c++ winpcap开发(6)
- ROC 曲线/准确率、覆盖率(召回)、命中率、Specificity(负例的覆盖率)
- 圆角半角数据库_数据库使用技巧——SQL 全角与半角切换
- “开源是一个自我实现的预言”,Shifu创始人陈永立说道
- 霍兰德人格分析雷达图的两个坑
- libuv访问mysql_浅析libuv源码-编译启动
- 限幅二极管基础知识详解
- strchr和strstr的用法
- 图片压缩 in Android
- justauth-spring-boot-starter V1.3.5 发布成功
- Stripes视图框架实现ActionBean视图访问
- IoT——ESP8266 Micropython 贝壳物联
- Android中汉字转拼音的优化
- mysql read next_mysql handle_read_next