Monobehaviour 优化

1.缓存transform
若经常访问一个组件,需要将其缓存。


2.少用GameObject.Find
会遍历所有的GameObject,会根据名字返回相符的对象。
当游戏内对象很多时,会很好使。


3.缓存Camera.main
内部是通过GameObject,FindWithTag查找tag的。
经常用可将其缓存。


4.比较tag
使用 tag == "xx" 会有额外的GC
使用 CompareTag("xx") 不会产生GC


5.自定义Updater
Unity在执行Update之前会做一些列检查。(遍历所有有update的脚本,是否可以调用,准备去调用,参数是否可用等等)
所以只有一个Update,管理一个List提供注册接口,通过这个Update调用其他的。


6.Animator.Set
使用字符串触发,会被hash成一个整数。
如果需要频繁触发,提前进行hash。Animator.StringToHash(“xxx”)


7.缓存 YieldInstruction
不用每次都 yield return new WaitForSecond(1f);
省去了 new 的开销。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容