Imagination PowerVR SDK Blog

Why should I use compressed textures in my applications?



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.

Performance Improvement

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).

Power Consumption

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.