I'm using SFML.Net (latest version from SVN), but I think it's not a problem related to .Net, so I'm posting it here.
Anyway, I have to draw a 64x64 tile-based map, where every Tile has a List<Entity> (linked list, or std::vector for C++ users), and every Entity has a Sprite object.
I loop through every Tile, and in every Tile I loop through every Entity, and then draw the sprite on screen.
Sprites reach 5000, 6000, 7000, even 10000, and the FPS go down dramatically.
What can I do to avoid FPS getting below 60? Is SFML not capable of drawing thousands of 16x16 sprites? Is there a solution, or should I use some "dirty trick" to fix the problem?
Thanks.
More info:
*My Entities/Tiles are dynamic, they can change every turn, also they can be scrolled by drag'n'dropping with the mouse.
*I'm already culling Tiles outside of the window.
*I'm drawing every sprite, every frame. No RenderImages or anything else. Just plain drawing.