hmm, well yeah quadtrees will definitley help with collisions checking, and for rendering. dividing the map will definitely help, if only to reduce the size of the one big image at any given time. if you have all your enemies/bullets/etc on one spritesheet then you can also use vertex arrays for them, taking it down to effectively one draw call. So that would help too. Good luck with your implementations!