From my tests (using 10,000 little solid-colour sprites) I get the following results over 30 seconds:
on-screen, but active and Invisible: 17598 frames served
on-screen, but inactive and invisible: 20337 frames served
off-screen, but active and visible: 12097 frames served
off-screen, but inactive and invisible: 20215 frames served
Having them all on-screen, active AND visible gives me just 284 frames in 30 seconds... however, if you delete all the sprites you don't need (in this case, all of them), I get: 63584 frames served over 30 seconds.
So, making a sprite inactive also makes a big difference to framerate, but deleting sprites that aren't required, and re-building them when needed is probably going to make the most difference (as long as it isn't every frame of course). I guess it depends how often the sprite needs to be hidden.