0

当我们仍然制作 ScriptableObject 的多个副本/实例时,它对内存优化有什么好处。?

在过去,脚本附加到预制件上,并且在实例化时,每个脚本都用于在内存中创建/保留自己的插槽,这是一种不好的方法,因为同一脚本有多个副本。

我们在可编写脚本的对象中所做的是:创建可编写脚本的对象,从 Asset>Create> 创建其多个实例,在这些实例中提供数据并在需要时访问数据。它与在预制件上附加脚本并实例化它或制作包含数据的 ScriptableObject 的多个副本并从中访问数据有何不同。毕竟,我们也在 scriptableobject 中制作了多个副本。

请解释一下 ScriptableObject 的多个副本如何对内存友好,然后是实例化的预制件的多个副本。

4

1 回答 1

1

ScriptableObjectsMonoBehaviours与它们没有要处理的所有数据相比,它们要轻得多GameObjectUnity.Object是的,与 a 相比,它们仍然有一些开销System.Object,并且有几个可用的生命周期钩子,但它们也不会被放入Update队列之类的东西中。

您应该将 ScriptableObjects 视为纯数据对象(例如,设置/配置),供您的设计人员在 Unity 中进行编辑。

于 2019-11-12T02:10:36.610 回答