I suspect that what’s happening is what’s described in this excerpt from the manual:
There’s one tricky aspect of all this. Usually, the window is usually not a power of two. The texture will end up being bigger than the window: for instance, if the window is 800x600, then the texture will be 1024x1024. The scene will be rendered into the lower-left 800x600 pixels of the texture. The shader needs to compensate for this. If you forget this, you will see an empty band above and to the right of the texture.
If you look at the shader given on the same page just after that excerpt, it uses a uniform variable called “texpad_tex” to account for this issue, if I’m not much mistaken.
Oh, what a shame! I usually read everything thoroughly, but this time I was so eager to test my idea that didn’t bother to read down to the end of paragph. Thank you!
Cards on which this might have a negative performance impact are likely to be very, very, very, very old, old enough that they are unlikely to support GLSL 1.30. I wouldn’t worry about it.
You might still pay for the memory cost of the texture as though it had been allocated at a larger power-of-two size on some cards, but that means that the cost will not be worse than if you had left the setting to its default value.