1: It is better to use scale=0 or alphaGroup=0 to control the objects in the object pool. When the UGUI control scale=0, the number of vertices will also become 0
2: If WaitingForJob or PutGeometryJobFence appears, it means that merging meshes is expensive.
3: Z must be adjusted to 0, unless there is 3DUI interspersed.
4: If the Image is null or the alpha is 0, the overhead cannot be reduced, and if the Image is null, it will not be merged.
5: Item type, if the current icon and the adjacent icon (not the current icon) overlap, they will not be merged into 2 drawcalls.
6: When an item type is selected, playing animation, etc., and there is a lot of content under the canvas, you can put the item into the pre-built dynamic canvas separately, and put it back when you uncheck it.
7: Try not to use outLine for dynamic text.
8: One of the two UIs needs to be hidden. You can set a layer on the camera to not render it. When it needs to be hidden, modify the layer directly.
9: When a large number of elements involve color gradients, a new shader can be used, which can be controlled by changing the tintcolor of the shader, which is more convenient to control the change of tintcolor through animation.
10: Classic use of CanvasGroup
- Add a CanvasGroup to the window's GameObject, and fade in or out the entire window by controlling its alpha value.
- Make a whole set of no interactive (grey) controls by adding a CanvasGroup to the parent GameObject and setting its Interactable to false.