以下全是隱藏開啓界面 ,不包括實例化界面操作
先說關閉界面
採用GameObject.SetActive 方法 ,消耗的時間 6.70, 產生 gc 384B
解決思路,1、移除視野? 不行,drawCall 沒有任何變化
2、縮放大小 0 0 ? 可以,萬一裏面有不可縮放的粒子特效怎麼辦?有待商榷
3、給當前組件加canvas,設置canvas的組件可用性,試試 --- >
4、百度搜的 Canvas Group 也試試 ,對比一下
時間 2.00 gc : 6.8KB 時間減少了4.7 ms ,gc增加了 6416B , 乾的漂亮 ,有讀者要問了,博主你在玩蛇皮?
開界面 對比 GameObject.SetActive() 和 Canvas.Enable --- >
GameObject.SetActive 時間 28.02 ms , GC : 50.6KB , Canavas enable 時間 8.13 GC :30.4KB
Canvas.enable 完勝 ,鼓掌 !!!
但是 GC 時間都那麼高啊 啊啊啊 ,怎麼幹掉 ?
百度是我們的好朋友 ,繼續搜索 Canvas Group - --> 試 !
相比月 canvas enable -- > 開界面 5.5ms GC :44.7 又上去了, 關界面 快了0.87ms , 但是多了6.8kB .
說好的 比 enable 好呢, 只是時間調用上快了,GC反而多了
決定暫時先用 Canvas.enable 了 , 有空了再研究有沒有好的方案 , 希望有好方案的大佬 不吝賜教 ,謝謝 !