0

所以为了简单起见,我在我的项目中使用 ScriptableObject ,突然间我试图再添加一个,编辑器变得如此滞后,以至于我无法继续处理该项目,这太烦人了......

我在我的 Unity 项目中手动创建了很多 ScriptableObject。我的程序很简单,我只是从我的 Assets 文件夹中加载我的 ScriptableObject,然后对它们进行处理。

我主要有 3 种 ScriptableObject 类型:

  • 提取(包含字符串、纹理和音频)
  • 主题(包含一个枚举值和一个提取列表)
  • Oeuvre(包含一个字符串和一个主题列表)

ScriptableObject 上链接的数据位于 Assets 的另一个文件夹中。

我尝试从 Unity 2019.4.14f1 升级到 2020.3.4f1 并且......没有任何改变,太多的延迟无法正确执行任何操作,每次单击文件夹时就像几秒钟编辑器在冻结时开始显示一条消息(而不是根本不显示任何东西,只是不响应)它说ProjectBrowser.OnGUI.repaint带有进度条。

在这一点上,我开始观察到只有在我浏览项目中的一些 ScriptableObject 时才会出现延迟,当我想在场景中编辑一些 c# 脚本或游戏对象时,消息永远不会出现,并且编辑器像以前一样流畅。

在这一点上,当编辑器开始滞后时,我现在有大约 200 个 ScriptableObject。

也许我做错了什么?问题是否来自 ScriptableObject 相互引用?如果有人能给我一个提示会很棒:)

我正在使用 project2D,如果它可以帮助...

提前致谢。

4

1 回答 1

0

您可以使用 Profiler 来检测导致问题的原因以及哪个对象消耗了多少时间来渲染或计算。您可以查找是否 ScriptableObject 导致问题。你可以看:

https://docs.unity3d.com/Manual/Profiler.html

于 2021-04-20T09:23:27.993 回答