Original Post
I'm developing a 2D game for a school project. It's a brick breaker (with the paddle, the ball and targets to hit) and I created a ID3DXSPRITE variable to handle drawing all my targets from a texture of a 32x32 bitmap (about that size). In my render() function the code to display the targets on screen looks like this: float step; // the space between each target as it is being drawn float xPos; int nTargets = 5; // number of targets to draw sprite->Begin (/*alphablend*/); for (int i=0; i < nTargets; i ++) { xPos += step; D3DXVECTOR3 position (xPos, 0.0f, 0.0f); sprite->Draw (tex_target, NULL, NULL, position, D3DCOLOR_XRGB (255,255,255)); } sprite->End (); and tex_target is my texture of the target bitmap. So during my render function, sprite draws the target texture 5 times which is what slows down my game. If I changed nTargets to 1 then my game runs fast again. I was hoping to have 20 - 30 targets displayed. Does anyone have advice or a technique to share which would help with this problem? I was thinking that I could have the sprite draw the textures to the back buffer before I call the render() function, maybe in a pre_render() function.. but that would most likely take up the same amount of time