Well, this is simply because Light2D nodes are expensive in terms of computing power.
Try turning off unnecessary shadows or maybe shadows altogether. If the framerate is still low, use a Sprite node with an additive material.
Based on my experience, Particles2D don’t reduce performance unless you use textures above 256px and a count that exceeds 500 on my ancient tablet.
** If the framerate is still low, use a Sprite node with an additive material.**
Can you explain or suggest a tutorial about this?
Roboboi | 2021-04-06 11:11
Add a Sprite node, assign a texture, scroll down in the Inspector until you find Material under CanvasItem, add a new CanvasItemMaterial and finally change the Blend Mode to Add.
Tell me if you face any problems or if it doesn’t work.
The current implementation of 2D Lights is not efficient and can greatly reduce the framerate especially on older hardware.
When I was developing a 2D game, I was constantly testing it on a very old tablet (Android 4.4 KitKat) that barely supported GLES 2.0.
At some point I decided to add some lights to cast shadows.
The game ran easily with 7 lights on my computer. However, my tablet was struggling to render the game.
I kept decreasing the number of lights until I settled down to only one light!
So my guess is that the current algorithm to render 2D shadows is really intensive and should be optimized.
Sorry i dont get it. Should i add the sprite node to Particles or the particles to sprite node?
Roboboi | 2021-04-07 07:42
The Sprite node can be a cheap substitution to lights, not particles.