I would like to know things (other that I found out so far) that need to be inspected when tuning allegro application (game), for performance, in my case it is 2d game where lot of objects can be shown on screen.
The performance isn't really bad, but I would expect that drawing 2d scene with approximately 2500 images (mostly tiles and some objects) on high end computer should be faster than 500 fps that I have now.
I really don't need 500 fps, but I expect number of shown objects to increase a lot and I also want to be able to run the game on much less powerful computers, my friend on laptop has only 150 fps now.
Here is the list of things I already discovered/checked:
1) al_hold_bitmap_drawing before(true); before drawing lot of bitmaps and al_hold_bitmap_drawing before(false); when I'm finished (helped a lot)
2) This needs to be tested more, but When I draw 100 X 10 different bitmaps it is much slower than drawing 1000 X 1 bitmap.
Is it because of some switching of source bitmap for drawing?
I guess that it might be solved using some atlas bitmap for all images I use and just drawing part of the bitmap, but it is limited by the maximum size of the atlas bitmap that can be in video memory.
3) I checked that bitmaps I use for drawing are video bitmaps.
4) I discovered, that when I only flip display, the fps is 1800, I always thought that flipping backbuffer should be practically instant, could it be because I have some bad backbuffer settings?