unity如何解决协程开启频繁导致的程序卡顿
unity如何解决协程开启频繁导致的程序卡顿
一、协程
协程并不会在Unity中开辟新的线程来执行,其执行仍然发生在主线程中。当我们有较为耗时的操作时,可以将该操作分散到几帧或者几秒内完成,而不用在一帧内等这个操作完成后再执行其他操作。
二、协程开启频繁
unity中协程在start前需要判断其是否开启了,否则协程会不断叠加
三、解决方式
解决方式一:
协程start前需要判断是否协程开启了,开启的停止进行重新开启:
即:开启协程前,将之前已经开启的给关闭。
private Coroutine coroutine_setReConnect;
if (coroutine_setReConnect != null)
{
StopCoroutine(coroutine_setReConnect);
coroutine_setReConnect = null;
}
coroutine_setReConnect = StartCoroutine(IE_SetReConnect());
解决方式二:
自己定义一个bool值进行判断协程是否在执行,如果是在执行无法开启协程
开始时判断这个bool是false才能开启协程
if(!bIsStartCoroutine)
A();
private void A()
{
bIsStartCoroutine = true;StartCoroutine(B() as IEnumerator);}
private IEnumerator B()
{yield return null;bIsStartCoroutine = false;
}
unity如何解决协程开启频繁导致的程序卡顿相关推荐
- Unity 协程开启、停止与生命周期
StopAllCoroutines只会停止调用这个接口的脚本实例对象上的所有协程,而非调用这个接口脚本的所有实例对象. 协程被打断 使用Unity的MonoBehavior组件开启一段协同程序非常方便 ...
- goroutine中使用recover,解决协程中出现panic,导致程序崩溃的问题。recover panic 协程的错误处理
package mainimport ("fmt""time" )//goroutine中使用recover,解决协程中出现panic,导致程序崩溃的问题. f ...
- Unity C#笔记 协程详解(转)
目录 什么是协程 多线程 协程 协程的使用场景 协程使用示例 Invoke的缺陷 协程语法 开启协程 终止协程 挂起 协程的执行原理 什么是协程 在Unity中,协程(Coroutines)的形式是我 ...
- Unity线程与协程
文章目录 前言 一.unity真的不支持多线程吗? 1.unity中使用多线程 2.unity中多线程的停止 3.unity中使用多线程的问题 二.协同程序 1.协程的使用 2.协程的原理 总结 前言 ...
- javascript 函数节流 throttle 解决函数被频繁调用、浏览器卡顿的问题
* 使用setTimeout index.html <html> <head><meta charset="UTF-8"><title&g ...
- 解决 js 长任务导致的页面卡顿(时间分片技术)
时间分片技术 解决 js 长任务导致的页面卡顿 界面操作使用transform动画会使用GPU,不会让界面卡死 解决 js 长任务导致的页面卡顿 在web界面运行长时间代码时,会造成界面卡死,最新看了 ...
- 解除映像劫持工具与源码,可解决因映像劫持导致的程序不能运行问题
显示在红色列表框中为被劫持导致无法运行的程序名(同名程序不能在本机器上正常运行,可通过加号增加对其它程序文件的屏蔽) 显示在绿色列表框中为本软件解除了劫持的程序(可使用重新屏蔽按钮恢复到被劫持状态) ...
- 解决UHD620,630等集显运行Solidworks卡顿 (点击特征导致描边卡死)
一.致谢 首先感谢@二重奏-和 @两三肆,我在此将大神们的方法汇总罗列出来. 二.正文 8代cpu自带的核显UHD620和UHD630等集成显卡没有被SolidWorks支持(Solidworks 官 ...
- [iOS]调和 pop 手势导致 AVPlayer 播放卡顿
作者 NewPan 关注 2017.07.15 14:24* 字数 3110 阅读 749评论 8喜欢 17 声明:我为这个框架写了四篇文章: 第一篇:[iOS]UINavigationControl ...
最新文章
- css样式脱离标准文档流
- DFTug Test_point
- Windows线程同步机制的区别与比较及进程通信方法
- 去掉烦人的“正在配置Windows”
- Spring 由构造函数自动装配
- linux的ctrl alt f6的作用,Linux(Centous6.4)操作系统中,快捷键Alt+Ctrl+F10是什么作用?...
- mysql 基本概念学习(时间,事务)
- [Case] “凭心而论,在这家公司很敬业的工作了3年多,老板最后给我下的评语,大家都看看吧,千万别和我走同一条路!”(摘自csdn)...
- 理解node.js(Understanding node.js)
- 基于PHP构建OAuth 2.0 认证平台
- 微信小程序引入iconfont图标
- 逆向分析商业软件 010 Editor 及注册机编写
- wps在线预览接口_Office在线预览及PDF在线预览的实现方式大集合
- java 求tan角度求值_知道sin、cos、tan的角度如何求值,不用计算器
- Android kernel中wakeup_sources解析
- 电脑锁屏卡死以及任务栏卡死的解决办法
- 尤雨溪:Vue 3 将成为新的默认版本
- 从Spring源码探究IOC初始化流程
- 手机怎么进ph_关于pH调整的有效方法
- 初创的云平台公司是否需要设立运维岗
热门文章
- 手把手教你使用Python解决简单的zip文件解压密码
- 入手评测 惠普暗影精灵 7怎么样
- Mac系统 用文本编辑html代码的方法
- PowerBI 新手入门 ---- 新建一个表(直接输入或粘贴表内容)
- Romberg积分法计算定积分(Matlab程序)
- 低配电脑适合学计算机网络吗,让低配电脑保持流畅而不出现卡顿的做法,你学会了吗?...
- 手机内置摄像头接线图解_购买苹果手机要小心,这4部不值得入手,我劝你还是别买了...
- 高赛德尔迭代法matlab程序,高斯赛德尔迭代法matlab编程
- LQ0065 k倍区间【前缀和+余数定理】
- 【μC/OS-Ⅲ】μC/OS-Ⅲ OSTaskCreate()函数