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动态刷新率设置相关推荐

  1. IOS UIPageControl的设置点为一张图片

    IOS UIPageControl的设置点为一张图片 从ios13以后,或者更高版本,,老版本使用kvc间接设置,即可,你看的资料可能是使用kvc设置,然而并没什么用.我采用的是新版本. 源码 htt ...

  2. 揭秘 | 小米最新款12PRO智能动态刷新率技术原理

    1. 背景 最新发布的小米手机12pro提到了一个安卓系统上的新技术:智能动态刷新率.这到底是个啥技术?让雷军同学可以大吹特吹. 智能动态刷新海报 要解释上面的技术,不得不提刷新率和帧率这两个概念.在 ...

  3. 从0开始架构一个IOS程序—— 02 — 设置启动图标与启动页面

    从0开始架构一个IOS程序 02设置启动图标与启动页面 Mac OSX 10.11 之后 1 指定应用程序所要加载的应用图标与启动加载图片 2 应用图标的相关设置 3 启动图片的相关设置

  4. 简单易用的运动控制卡(十一):运动的暂停恢复和速度倍率设置

    今天,正运动技术给大家分享一下运动控制卡之ECI3808如何使用C++操作使用连续插补运动以及小线段前瞻. 一.ECI3808硬件介绍 1.功能介绍 ECI3808系列控制卡支持最多达12轴直线插补. ...

  5. linux命令行还屏幕刷新率,Linux下显示器分辨率及刷新率设置

    一.查看显卡相关信息 glxinfo | grep -i rend direct rendering: Yes 运行这个命令,如果显示不是"Yes",说明还需要自己去安装一下驱动( ...

  6. Android刷新率设置

    0 前言 传统的手机屏幕刷新率通常为60Hz,但从2020年各大手机厂商发布的手机来看,高刷新率已成为不可逆的趋势,目前最高刷新率达144Hz[1].然而由于高刷新率在带来流畅体验的同时,也会导致更高 ...

  7. iPhone iOS 系统中 设置-开发者 对应的翻译

    iOS 系统中 设置开发者对应的翻译 ------ 第一屏 第二屏 第三屏 针对网络差的调试, 模拟网络特别慢的环境 原文链接 https://www.jianshu.com/p/55ec0d466f ...

  8. 传奇登陆器只有1024x768的分辩率,登陆器多个分辩率设置方法

    架设传奇单机版的时候登陆器打开只有1024x768的分辩率,想弄大点或小点怎么解决呢?登陆器上面不能选择,只有1024X768. 引擎在开发的时候,作者就有考虑到每个玩家的习惯不同,设置了多个分辩率, ...

  9. android和平灵敏度,和平精英8月份新版本灵敏度设置分享 安卓/iOS设备灵敏度设置攻略...

    和平精英8月份更新之后的新版本灵敏度要怎么设置,安卓设备和iOS设备灵敏度设置方法是什么样的呢,我们来看下新版本灵敏度设置方法分享. 大神灵敏度推荐之一(燃茶) 设备:安卓手机 二指法操作设置 镜头灵 ...

最新文章

  1. Freemarker入门小案例(生成静态网页的其中一种方式)
  2. ES6 使用数据类型Set求交集、并集、差集
  3. Native与H5交互的一些解决方法
  4. 序列化shelve模块
  5. 深搜DFS\广搜BFS 图初步入门
  6. iOS13 一次Crash定位 - 被释放的NSURL.host
  7. java计算器如何实现运算_用java编写了一个模拟计算器的界面设计,怎么实现运算功能呢...
  8. 【Elasticsearch】es Elasticsearch HQ 介绍
  9. LeetCode刷题(14)
  10. webpack创建页面的过程
  11. JAVA代码实现下载解析网易云音乐到本地电脑的demo示例
  12. android 解谜 游戏,Android解谜游戏《100个任务》图文攻略
  13. Python新书上市,强烈推荐!《Python网络数据爬取及分析从入门到精通(爬取篇)》导读
  14. 联想thinkpad E430c 重装系统之后无线连接显示红叉解决办法
  15. 用计算机计算负数,计算机中负数的加减
  16. 【微信小程序】用户授权及getUserProfile接口使用
  17. Win10 设备管理器一个USB设备描述符请求失败解决方法
  18. javascript的json比对插件
  19. html设置幼圆字体,CSS font-family中文字体设置方法
  20. Collectors.joining()

热门文章

  1. Uva12412 师兄帮帮忙
  2. php绕过管理员登录,EspCMS后台登录绕过漏洞再利用
  3. java中的terminated_Java State.TERMINATED屬性代碼示例
  4. JS检测,禁用浏览器开发者工具之6大方法探讨
  5. 从“不作恶”到“门就在那边”,谷歌 AI 伦理史
  6. 【问题总结(12)】Cascader 省市区联动 obj[] Object.key() some.() String() forEach() 数组筛选过滤filter
  7. MySQL类型定义 - 日期和时间类型
  8. 三国群英传8修改器(附怎么用)
  9. android学习手册5.5,5-5.2全册参考学习手册.doc
  10. Verilog HDL 实现时钟计数器