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 的開銷。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。