You’re not thinking about what you’re expecting the shader to do. If you want to arbitrarily scale two textures on top of each other, you can’t just merge them into a single texture. If you blend a 512512 texture over another 512512 texture, and you scale one of the 512*512 textures by 5 on the UV space, the end result will tile every 2560 pixels. If you want the texture to be merged into a single texture, that’s the lowest size you can do it. Now, you can’t mipmap a texture that’s not a power of two, and since no power of 2 is also divisible by 10, you will not be able to mipmap that texture at all! Your final texture will be 26 MB and you will not be able to stream it.
That’s why shaders perform texture UV calculations in realtime without compressing the result down into a single cached texture. Now, if you want to overlay textures in Photoshop and come up with a final result of 1k or 2k that’s fine, you can do whatever you want in Photoshop. As long as the end result is a power of 2, you’ll always be fine doing that instead.
The cost of total pixel instructions is:
Instructions for the shader, per pixel (includes the basic shader, lighting with reflection environment and screenspace reflections, and lightmass GI all blended together)
Reevaluations of the shader per dynamic light influence, per pixel (with a dynamic sun, every pixel receiving light from the sun becomes twice as difficult to render)
Translucency
Post process per pixel (bloom, any depth of field, any screen effects)
So say your material has 500 instructions for the basic shader, reflection environment, and lightmass, and you’re running the world’s most powerful GPU: an NVIDIA GTX 980, capable of 78 billion pixel operations per second. That’s not bad, 500 seems like nothing. But then you decide to have a stationary sun so you can get proper specular highlights in your level, so this bumps up to a cost of 1000 instructions per pixel. Now At 1080p you have 1920x1080 pixels, or 2,073,600, so now you have 2,073,600,000 instructions to render one frame. 2 billion for a frame, but 78 billion on the card… per second. If you have translucent objects, you need to add the cost of those pixels to the cost of the surface underneath, so in the translucent pass let’s say you have some smoke effects taking up 25% of the screen, and the smoke costs 140 instructions to render per-pixel. This is an extra 72,576,000 instructions for a total of 2,146,176,000 instructions. Now you need post processing. I don’t know how much bloom costs, but I do know it typically runs at 1/4 the resolution and it’s not free. For the hell of it, let’s say in total this adds an extra 50 instructions per-pixel. Now we have a grand total of 2,249,856,000 instructions per frame.
If you want this to run at 60 frames per second, you’ll need a graphics card with a fillrate of 134,991,360,000 pixels per second, or 135 Gp/s. But the GTX 980, currently the world’s most powerful GPU (costs about $550) only has a peak pixel fillrate of 78 Gp/s. Theoretically, a graphics card that powerful would only be able to run a scene like this at 35 frames per second, if the pixel framerate is the only bottleneck to speak of. So if you insist on using 500 instructions for a wall, this is a more realistic depiction of how difficult it would be for the world’s most powerful GPU to render that wall if a player decided to just stare at it.
Now consider that games like Super Smash Bros can run 60 frames per second on the Wii U with a fillrate of only 4.4 billion pixels/second, or 5.6% the fillrate of the GTX 980. And they’re rendering a lot more than just a wall with some smoke.