actually, the infinite background was the fist thing I did, and from the start it was causing frame drops. so I think that maybe I'm using the wrong method to move it. Every time the background is moved, a position.x stat is changed, then the background is re-rendered with a spritebatcher at it's new position. Everything else is drawn this way too.
The game is 2d. planning to have many enemies on screen at once (about 10-12 at a time). using vertex arrays I think. The framework is copied over from a tutorial game I made. There really isn't anything else, mechanically. I have many moving and animating sprites that I want. but only some of this is implemented because I didn't want to continue until the frame drop was fixed. not using shader programming (don't know what is, so probly not).
I think my problem is that everything is being re-rendered every frame instead of tranform. so if you can point me to how to implement this? Or if this information tells you something else...... Your an amazing sport for sticking with me, thank you again for your help!