我知道单位会优化Update()
方法,这就是为什么可以在没有任何条件的情况下设置变量的原因。但是方法,特别是gameObject.SetActive
呢?当您需要将GO活动绑定到某种条件时,这确实很方便,但是它如何影响性能?例如,在UI中,SetActive
会导致画布重绘。但是我想,如果Unity确实优化Update()
中的方法,那不是问题。是吗?
没关系,但是建议使用FixedUpdate()而不是Update()
您在更新中编写的任何代码都会在每一帧被调用。通常,如果可能,我避免使用Update方法。
使用事件和协同程序,您只能在需要时运行代码。它使代码更加有效和可读。
例如,不是在更新的每一帧中更新健康栏,而是可以编写仅在玩家被击中时在PlayerDamaged事件上运行的协程。
如果您的代码/应用很小,那么您不会在性能上看到很大的差异,所以没什么大不了的,但是最好将Update只用于确实需要在每一帧调用的代码,这是一种更好的做法。 >