PISCOnoob

导航

Unity Editor卡住显示Hold on busy....参考解决办法

不少unity用户在使用2020及以上的版本会遇到以下各种各样原因的Hold on bar(所以我还是会使用2019...屁事最少最稳定)

......

 

 

根据官方人员所述并不是因为这个ProgressBar导致的卡顿,相反,它只是提供信息给你告诉你现在unity为什么卡顿(以前的版本没有这样的信息提供),且导致unity卡顿的并不是某单一原因,而是有各种各样的原因包括你的代码,官方的代码或者第三方插件。最好的解决方案是给unity官方提交高质量的bug report,最好附带demo可以复现问题这样他们就能追踪真正的问题所在。此外论坛和官方人员提供了一些workaround但并不一定就能解决你遇上的问题(以下方法并不按某种顺序,只是将其他人的经验汇总,请自行判断应尝试哪个方法):

1.所有unity相关的东西一定要用字母或加下划线的路径,要用带有中文的路径就不要怪unity出现各种奇怪的bug了。包括有的开发者连系统用户名都是中文,而又把unity相关东西放到了系统盘带用户名的地方,也有可能会出问题。

2.检查脚本编辑器是否没设置好,Edit->Preference->External Tools->External Script Editor里面选择VS或其他你喜欢的。

3.到Unity的issue tracker网站查看你正在使用的版本(请务必优先使用LTS版本,要用新版本就不要抱怨bug多)有没有用户反映类似问题,官方有没有说在之后哪个版本会修复。比如以下例子:https://issuetracker.unity3d.com/issues/automatic-hold-on-busy-dialog-makes-it-very-hard-to-exit-play-mode-if-update-takes-too-long

4.关闭项目删除该项目下的Library\ShaderCache文件夹(或整个Library文件夹)再重新打开该项目。

5.Reset该项目的Layout。

6.杀掉进程重启editor。

7.可能是windows防火墙或杀毒软件导致,要不关掉软件,要不把unity和工程目录加入白名单。

8.禁用Preference->General->AutoRefresh(2021版本以后在Preference->AssetPipeline->AutoRefresh),手动按CTRL+R刷新资源编译脚本。

9.Preference->General->Busy Progress Delay的数值根据自己的判断改大,可先尝试改到50-150之间。

10.Project Setting->Editor->EnterPlayModeOption,可以选择关闭Domain Realod/Scene Reload,实测关闭Domain Realod后play基本可以做到秒开,具体关闭的影响可以看官方文档: https://docs.unity3d.com/cn/2020.2/Manual/ConfigurableEnterPlayModeDetails.html。

11.更多等待补...

!!!重申以上都是workround,建议仍是提交高质量的bug report给unity官方,提交bug report可参考:https://www.cnblogs.com/pisconoob/p/16115863.html

 

 

posted on 2022-11-03 13:46  PISCOnoob  阅读(6382)  评论(0编辑  收藏  举报