UI隐藏的方式:
1Active=false:
最基础的隐藏UI的方式,性能开销最大的,内部会递归调用UI的子节点对其进行Active=False;(最不推荐的一种方式)
2改Scale或者放到屏幕外:
这个在一些书上写的这种方式相较于active有优势,但是仅限比active有优势。在某些情况隐藏后并不会减少drawcall的次数(比如把ui放到同一canvas下,当其中有任何一个ui还在显示范围内,其余放到屏幕外、scale被修改的UI依旧会被渲染,并且体现在batch上。只有当前canvas下所有ui被移出屏幕外时,这个canvas下所有的UI才不会被渲染)。
3CanvasGroup操作修改透明度为0:
当透明度为0的时候,该UI就不会被渲染。
参考链接:
Unity-隐藏UI,开销较小的方法(CanvasGroup)_unity 把ui隐藏消耗比把ui移除屏幕外大吗?-CSDN博客