在Update()中使用SetActive是否合适?

问题描述 投票:0回答:2

我知道单位会优化Update()方法,这就是为什么可以在没有任何条件的情况下设置变量的原因。但是方法,特别是gameObject.SetActive呢?当您需要将GO活动绑定到某种条件时,这确实很方便,但是它如何影响性能?例如,在UI中,SetActive会导致画布重绘。但是我想,如果Unity确实优化Update()中的方法,那不是问题。是吗?

unity3d
2个回答
0
投票

没关系,但是建议使用FixedUpdate()而不是Update()


0
投票

您在更新中编写的任何代码都会在每一帧被调用。通常,如果可能,我避免使用Update方法。

使用事件和协同程序,您只能在需要时运行代码。它使代码更加有效和可读。

例如,不是在更新的每一帧中更新健康栏,而是可以编写仅在玩家被击中时在PlayerDamaged事件上运行的协程。

如果您的代码/应用很小,那么您不会在性能上看到很大的差异,所以没什么大不了的,但是最好将Update只用于确实需要在每一帧调用的代码,这是一种更好的做法。 >

© www.soinside.com 2019 - 2024. All rights reserved.