开发者不了解Unity脚本的生命周期
有一些开发者由于不了解Unity脚本的生命周期,而出现一些程序上的错误和问题。
例如引擎什么时候会调用Awake、OnEnable、Update等等API?协程在什么时候会被更新?FixedUpdate又是怎么执行的?
可以参考Unity的文档:
Execution Order of Event FunctionsFixedUpdate的执行可以查看:
陈嘉栋:FixedUpdate真的是固定的时间间隔执行吗?聊聊游戏定时器
过于重度的使用MonoBehavior以及Update
有些开发者喜欢在制作Demo甚至时正式开发项目的时候大量的依赖MonoBehavior以及Update方法。在Unity中MonoBehavior脚本的Update方法会被引擎记录在一个List中,在运行时引擎会遍历这个List,并调用其中的Update方法以实现脚本逻辑的更新。但是,原生代码到托管代码的调用总是会有性能上的开销的,因此场景中的MonoBehavior以及Update过多会影响游戏的性能。
相关文档可以参考:
10000 Update() calls – Unity Blog