Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unity3d 可脚本化对象是否导致Unity Editor延迟?_Unity3d_Assets_Unity Editor_Scriptable Object - Fatal编程技术网

Unity3d 可脚本化对象是否导致Unity Editor延迟?

Unity3d 可脚本化对象是否导致Unity Editor延迟?,unity3d,assets,unity-editor,scriptable-object,Unity3d,Assets,Unity Editor,Scriptable Object,简单地说,我正在我的项目中使用ScriptableObject,突然我试图再添加一个,而编辑器变得太慢,我无法继续在项目中工作,这太烦人了,无法处理 我在Unity项目中手工创建了很多ScriptableObject。我的程序非常简单,我只是从我的资产文件夹加载我的ScriptableObject,然后用它们做一些事情 我主要有3种类型的ScriptableObject: 提取(包含字符串、纹理和音频) 主题(包含枚举值和提取列表) 作品集(包含一个字符串和主题列表) ScriptableO

简单地说,我正在我的项目中使用ScriptableObject,突然我试图再添加一个,而编辑器变得太慢,我无法继续在项目中工作,这太烦人了,无法处理

我在Unity项目中手工创建了很多ScriptableObject。我的程序非常简单,我只是从我的资产文件夹加载我的ScriptableObject,然后用它们做一些事情

我主要有3种类型的ScriptableObject:

  • 提取(包含字符串、纹理和音频)
  • 主题(包含枚举值和提取列表)
  • 作品集(包含一个字符串和主题列表)
ScriptableObject上链接的数据位于资源中的另一个文件夹中

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

此时,我开始注意到延迟只发生在我浏览项目中的某个ScriptableObject时,当我想编辑场景中的某个c#脚本或游戏对象时,消息永远不会显示,编辑器也像以前一样平滑

此时,当编辑器开始延迟时,我有大约200个ScriptableObject

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

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


提前感谢。

您可以使用探查器检测导致问题的原因,以及哪个对象需要花费多少时间来渲染或计算。您可以找到ScriptableObject是否导致问题。你可以看看:


谢谢你的链接,我不知道在哪里可以找到这种工具。也许我不知道如何正确处理它,但当进度条显示时,编辑器完全冻结,我真的看不到发生了什么。每次浏览包含ScriptableObjects的文件夹时,鼠标移动时,OnGUI.repaint会占用所有主线程资源。。。最糟糕的是,我在打开探查器的情况下整整冻结了5分钟,却什么也做不到。我想2019年以后探查器会默认使用Unity。如果探查器也处于冻结状态,您可以在独立模式下使用探查器,该探查器将独立于您的游戏工作,您可以检查资源。您甚至可以看到哪些函数在对象、脚本、着色器中造成了问题。。。我希望你能用这种方法找到问题。如果这不能解决您的问题,建议检查代码中的循环。也许你错过了一些耗费太多时间的事情。探查器在独立模式下也会冻结。。。我尝试在Unity 3D中从头开始创建一个新项目,一批一批地移动所有资产,出于某种原因,我没有任何延迟或任何东西。。。如果有人对所遇到的问题有一些线索,仍然很有趣。