Why should I use compressed textures in my applications?
Modern applications have become graphically intensive; certain types of software, such as games or
navigation aids, often need large amounts of textures in order to represent a scene with satisfying
quality. Texture compression can save or allow better utilization of bandwidth, power, and memory
without noticeably losing graphical quality.
A smaller texture data size means smaller transfers from memory to the GPU. Memory bandwidth is
precious, particularly in mobile platforms where shared memory architectures are prevalent. In
situations where memory bandwidth is the limiting factor in an application’s performance, texture
compression can provide a significant improvement.
Storage Footprint vs. Memory Footprint
Texture compression reduces the memory footprint of a given texture; this allows applications to fit all
their required textures in a constrained amount of texture memory, or to use larger (or more) textures
for the same memory budget resulting in potentially, extra quality. In addition, any savings in memory
requirements are very useful for mobile and tablet devices where, as mentioned, memory is shared
across an entire SoC (System on Chip).
Memory accesses are expensive in terms of power consumption on mobile devices where battery life
is of the utmost importance. The bandwidth savings and better cache usage resulting from run -time
texture compression both contribute to decreasing the quantity and magnitude of memory accesses;
which in turn reduce the power consumption of an application.