2.6.1. Textures

High-resolution textures might use large amounts of memory, and represent a major load on the Mali GPU. You can achieve more efficient texture cache utilization by observing the following recommendations:

Texture compression

In general, use compressed textures in applications. This limits the amount of memory occupied, and also the memory read and write bandwidth.

The Mali-55, Mali-200, and Mali-400 MP GPUs support the ETC texture compression format that reduces the size of a texture to 4 bits-per-pixel (bpp).

Texture compression offers benefits such as improved performance, lower memory requirements, and better cache utilization, but can result in reduced image quality. However, for textures typically used in game applications, the quality of the compressed textures is usually acceptable. Use uncompressed textures only when the quality of compressed textures is unacceptable.


ETC does not support an alpha component for pixel colors.

ARM provides the tools required to create ETC format textures. See the Mali GPU Texture Compression Tool User Guide.

In general, use as low precision as possible, especially when compression cannot be used. See Data precision for more information about data precision. Also, use RGB rather than RGBA, unless you require the alpha component. For OpenGL ES 2.0, if your texture is monochrome, use an 8-bit gray scale texture and add color using a uniform variable.

Copyright © 2007-2009 ARM. All rights reserved.ARM DUI 0363D