Performance problems when rendering many 2D sprites

Godot Version

4.3 stable

Question

Hello. I’m making an isometric pixel-art tycoon game. It’s really simple visually, there are no lights or anything fancy other than a shader for randomizing some colors. Still. I’m starting to notice some performance problems when I have too many little people in my screen. In my gaming PC I start getting fps drops when I hit about 500 nodes, each with 3 sprites and a 2 frame animation. Sprites are 16x16, so pretty light stuff in general.

I have isolated the problem to be simply in the rendering of the Nodes. I’ve simplified my physics processing, my pathfinding and my shader usage to no impact. The first bottleneck that I hit is simply the rendering of all the sprites. Once I move my camera away from them or make them invisible my fps shoots to the maximum again. I need to figure something about this, as my game is supposed to have big crowds.

Is there something I could do about this? I’m planning on having as many of these sprites at a time as possible. I’m on compatibility renderer. I’m looking right now into using multimesh 2D, but I figured I’d ask before making any major changes to my current system.

Many thanks for any help :slightly_smiling_face: