Which is faster: large pre-scaled images or small scaled images

I’m trying to start a 2d opengl game, and I have 2 choices for sprite textures that are loaded onto quads (that I can see): make a texture in PS and scale it up with “nearest neighbour” and load it in; Or load in the small texture and do blending with these two lines of code:

glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameterf( GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);

My thinking is that both ways the texture would take up the same amount of VRAM, but the second way would require more processing power (during game execution, that is, albeit not that much). Do you agree with me?

Scaling is free on the GPU. The hardware does it for you. A smaller texture is always better.

why would you think that both would use the same amount of memory??

Also, the textures are not scaled on your GPU they are sampled. The processing time is independent of the scale of the texture.

Actually a smaller texture is faster since there’s less memory to read (and depending on the read pattern, possibly less texture cache misses), but in this case the difference miles from noticeable.

Maybe he meant scaling the texture to a power-of-2 instead of padding to power-of-2. There’s no need to stick power-of-2 sizes anymore.

well, I imagined that, once scaled up, the data would be the same size as data that was pre-scaled, as it is being displayed on the screen in the same size as the pre-scaled. So by sampling I do not effect performance in ANY way?

Chances are your bottlenecks will lie in draw calls and/or fill rate, rather than the size of your textures.

It’s more important to use sprite sheets and batch render, than it is to worry about individual texture sizes.

Texture cache miss is really slow. Thousands of cycles but gpu’s are quite smart to hide that latency. Still smaller is always as fast or faster(can be even magnitude) but never slower. Just try to disable mipmapping from some AAA game(gpu settings, texture lod bias) and notice how much it will slow down.