iOS动态刷新率设置
iOS 15.0,iPhone13 pro之后可以设置屏幕的刷新率,在iOS15.0之后使用该方法设置CAFrameRateRangeMake()
CAFrameRateRangeMake一共三个参数,最小刷新率,最大刷新率,和参考刷新率,需要注意的是,屏幕刷新率是有波动的,并不是你设置多少就一定是多少。
最小刷新率为系统可以波动的最小值,也就是说,系统刷新率再小也不可以小于该值
最大刷新率为系统可以波动的最大值,也就是说,系统刷新率再大也不可以大于该值
参考刷新率为系统的屏幕刷新率尽可能靠近的值,简单理解就是屏幕的实际刷新率围绕参考刷新率上下波动。
需要注意的是,[[NSRunLoop currentRunLoop] run];需要在最后写,不然该代码后续的block内容不会被执行,有点类似方法中的return操作。
本文例子中开辟了新线程来单独处理刷新时触发的操作,实际上也可以放到主线程中,用下面的代码替换相应内容即可
[link addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
- (void)viewDidLoad {[super viewDidLoad];NSThread *thread = [[NSThread alloc]initWithBlock:^{CADisplayLink *link = [CADisplayLink displayLinkWithTarget:self selector:@selector(timeChange)];if (@available(iOS 15.0, *)) {link.preferredFrameRateRange = CAFrameRateRangeMake(120, 120, 120);} else {link.preferredFramesPerSecond = 60;// Fallback on earlier versions}//添加到子线程runloop中[link addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];[[NSRunLoop currentRunLoop] run];}];thread.name = @"线程1";[thread start];
}
-(void)timeChange{NSLog(@"刷新");
}
iOS动态刷新率设置相关推荐
- IOS UIPageControl的设置点为一张图片
IOS UIPageControl的设置点为一张图片 从ios13以后,或者更高版本,,老版本使用kvc间接设置,即可,你看的资料可能是使用kvc设置,然而并没什么用.我采用的是新版本. 源码 htt ...
- 揭秘 | 小米最新款12PRO智能动态刷新率技术原理
1. 背景 最新发布的小米手机12pro提到了一个安卓系统上的新技术:智能动态刷新率.这到底是个啥技术?让雷军同学可以大吹特吹. 智能动态刷新海报 要解释上面的技术,不得不提刷新率和帧率这两个概念.在 ...
- 从0开始架构一个IOS程序—— 02 — 设置启动图标与启动页面
从0开始架构一个IOS程序 02设置启动图标与启动页面 Mac OSX 10.11 之后 1 指定应用程序所要加载的应用图标与启动加载图片 2 应用图标的相关设置 3 启动图片的相关设置
- 简单易用的运动控制卡(十一):运动的暂停恢复和速度倍率设置
今天,正运动技术给大家分享一下运动控制卡之ECI3808如何使用C++操作使用连续插补运动以及小线段前瞻. 一.ECI3808硬件介绍 1.功能介绍 ECI3808系列控制卡支持最多达12轴直线插补. ...
- linux命令行还屏幕刷新率,Linux下显示器分辨率及刷新率设置
一.查看显卡相关信息 glxinfo | grep -i rend direct rendering: Yes 运行这个命令,如果显示不是"Yes",说明还需要自己去安装一下驱动( ...
- Android刷新率设置
0 前言 传统的手机屏幕刷新率通常为60Hz,但从2020年各大手机厂商发布的手机来看,高刷新率已成为不可逆的趋势,目前最高刷新率达144Hz[1].然而由于高刷新率在带来流畅体验的同时,也会导致更高 ...
- iPhone iOS 系统中 设置-开发者 对应的翻译
iOS 系统中 设置开发者对应的翻译 ------ 第一屏 第二屏 第三屏 针对网络差的调试, 模拟网络特别慢的环境 原文链接 https://www.jianshu.com/p/55ec0d466f ...
- 传奇登陆器只有1024x768的分辩率,登陆器多个分辩率设置方法
架设传奇单机版的时候登陆器打开只有1024x768的分辩率,想弄大点或小点怎么解决呢?登陆器上面不能选择,只有1024X768. 引擎在开发的时候,作者就有考虑到每个玩家的习惯不同,设置了多个分辩率, ...
- android和平灵敏度,和平精英8月份新版本灵敏度设置分享 安卓/iOS设备灵敏度设置攻略...
和平精英8月份更新之后的新版本灵敏度要怎么设置,安卓设备和iOS设备灵敏度设置方法是什么样的呢,我们来看下新版本灵敏度设置方法分享. 大神灵敏度推荐之一(燃茶) 设备:安卓手机 二指法操作设置 镜头灵 ...
最新文章
- Freemarker入门小案例(生成静态网页的其中一种方式)
- ES6 使用数据类型Set求交集、并集、差集
- Native与H5交互的一些解决方法
- 序列化shelve模块
- 深搜DFS\广搜BFS 图初步入门
- iOS13 一次Crash定位 - 被释放的NSURL.host
- java计算器如何实现运算_用java编写了一个模拟计算器的界面设计,怎么实现运算功能呢...
- 【Elasticsearch】es Elasticsearch HQ 介绍
- LeetCode刷题(14)
- webpack创建页面的过程
- JAVA代码实现下载解析网易云音乐到本地电脑的demo示例
- android 解谜 游戏,Android解谜游戏《100个任务》图文攻略
- Python新书上市,强烈推荐!《Python网络数据爬取及分析从入门到精通(爬取篇)》导读
- 联想thinkpad E430c 重装系统之后无线连接显示红叉解决办法
- 用计算机计算负数,计算机中负数的加减
- 【微信小程序】用户授权及getUserProfile接口使用
- Win10 设备管理器一个USB设备描述符请求失败解决方法
- javascript的json比对插件
- html设置幼圆字体,CSS font-family中文字体设置方法
- Collectors.joining()
热门文章
- Uva12412 师兄帮帮忙
- php绕过管理员登录,EspCMS后台登录绕过漏洞再利用
- java中的terminated_Java State.TERMINATED屬性代碼示例
- JS检测,禁用浏览器开发者工具之6大方法探讨
- 从“不作恶”到“门就在那边”,谷歌 AI 伦理史
- 【问题总结(12)】Cascader 省市区联动 obj[] Object.key() some.() String() forEach() 数组筛选过滤filter
- MySQL类型定义 - 日期和时间类型
- 三国群英传8修改器(附怎么用)
- android学习手册5.5,5-5.2全册参考学习手册.doc
- Verilog HDL 实现时钟计数器