Performance cost of Non-Square textures

I’m trying to use a non-square power of 2 textures for my model.

What will be the difference between using square and non-square texture in performance wise for mobile devices?

Regarding GPUs being only able to accept square or POT textures, both of those no longer apply today. The square texture requirement was really long long ago and hasn’t been relevant for a long while. The POT requirement is a bit more recent but with D3D11 and Vulkan/Metal this is also a thing of the past. If you don’t want to develop a retro game that runs on vintage hardware, these GPU requirements are no longer relevant today.

However, you still cannot run free with your texture sizes today, there are still limitations imposed from other sources. Sticking to POT (non-square) textures is probably a good baseline to avoid issues.

e.g. some limitations:

  • Crunch texture compression in Unity requires texture sizes be a multiple of 4
  • Using mip-maps, only POT textures can be compressed
  • PVRTC requires POT as well, though ASTC works with NPOT and is well supported today

1 texture read is almost always faster than 2 texture reads. If there is a model (or multiple commonly used models) which use non square textures, atlas them together!

Next to that I don’t think there is a performance penalty for non square power of 2 textures on modern APIs. It uses the same compression. You can check the compression used in the preview on the texture import settings