Unity 2D Sprites cost many draw calls

Hi all,

I am creating a 2D puzzle game, where the player has a field of 40 * 40 squares, differently coloured.

The squares are individual Unity2D sprites, but all based of the same core block, coloured on the SpriteRenderer in code.

Since it’s all from the same sprite, I thought it would be only 1 draw call. However, it takes 8 draw calls. When I make the grid smaller (5 * 5 squares) it does work with only one draw call. It seems as if there is a maximum number of squares / draw call, but I can not figure out why.

Another interesting observation was that changing my Mesh type from Tight to Full Rect actually reduced my draw calls a lot already, which to me also doesn’t make sense.

Any thoughts? I’m lost.

Thank guys.

Cheers,

Ivo

I recognised the same behaviour and also tested and found out about another anomaly when marking all sprites static. When you reached the point where the 2nd draw call appears and delete the last sprite, it’s not going down to 1 draw call again. You actually have to delete 4 sprites to go back down. When adding up again, the 2nd draw call again appears after adding 4 sprites.

It’s actually 682 tris and about 1.4k verts. But there is definitely a limit to batching when it comes to sprites.