S3TC Texture Compression
 Search Cool Links


Computer Reviews
Animated Tutorials
Windows Help and Tips
PC Support

What can S3TC™ Texture Compression do?

s3logo.jpg (11606 bytes)
S3TC™ texture compression allows more and larger - more detailed - textures to be stored in a smaller memory area and, at the same time, significantly decreases the bandwidth required to access them.

Advantages of Texture Compression
Decreased memory size/bandwidth requirements = increased performance & better image quality.  The obvious benefit that texture compression provides is that a given amount of texture data can be stored using much less memory. This is most crucial when texturing out of the graphics accelerator's frame buffer. The memory and bus bandwidth required to read textures is greatly reduced, providing an improvement in performance over AGP.

Smaller, less detailed texture maps typically result in surfaces that look blurry or blocky while larger textures let applications provide more surface detail. Using S3TC texture compression developers can implement a greater variety of textures to be used simultaneously, permitting more varied detail within any given scene. When texturing out of local frame buffer memory - the memory on the graphics card - compression frees enough memory to increase the display resolution or to allow for triple buffering. Higher resolution provides a smoother, more detailed look, while triple buffering improves accelerator performance by letting the rendering engine to begin to draw a new scene without having to wait for the display’s vertical sync. Using triple buffering can result in increases in the frame rate by as much as 30%.

The free memory available when using compressed textures provides for the use of Mip-maps even with the added memory storage required. (Mip-maps can help to reduce aliasing artifacts visible on textured surfaces used to give the effect of distance. Without the use of Mip-maps, a pixel on an object in the distance may rely on association with texels from the original texture map. Low-pass filtering is used to retain the information without creating unwanted artifacts. Real time filtering is costly, so staged Mip-map levels can be used that are pre-adjusted filtered images lowering the filtering complexity.
Using Mip-maps can increase performance by keeping memory accesses sequential and allowing longer bursts. Without mip-maps, as objects move farther away, pixels are sampled less frequently making memory accesses more random and increasing the likelihood of shorter, less efficient bursts and page break penalties.

The S3 texture compression scheme (S3TC™) was designed and developed specifically for texture maps. Textures are compressed to a fixed size equal to four bits per texel (texture pixels) for opaque textures or eight bits per texel for complex transparent textures. The quality of the textures even after compression is quite good - athough this is currently under hot debate.

While other compression techniques exist, many “simple” schemes using inexpensive decoders have inferior quality, or a smaller compression factor, or both.

S3TC™ is the basis for the compressed texture formats used in DirectX 6.0. Microsoft has licensed S3TC™ from S3 and is making it available to both the ISV and IHV communities through the forthcoming DirectX 6.0 API. Software developers can expect a broad level of support for texture maps compressed in this format. With Microsoft’s support for this standard is also the fact that it is easy to build into any graphics hardware. So you might expect it to be universally available before long. Software developers may soon ship applications with all of their textures compressed, since a DirectX API will always be available to decompress these in software when the target hardware does not support S3TC™.

In an 8MB frame buffer, an application running at 800x600x16 double-buffered with a 16-bit z-buffer will have 5.25MBs of memory left over for texture storage. If S3TC™ is used, those 5.25MBs will be able to store the equivalent of 31.5MBs of texture. Developers could switch to triple buffering and still have the equivalent of 26MBs of texture storage. Or they could quadruple the resolution of all the textures, convert them all to Mip-maps and still have the equivalent of 3.5MBs of texture storage left over.

Using S3TC™ compressed textures, applications can use a wider variety of textures, higher resolution textures and still increase performance by cutting the read bandwidth required, or increase performance by switching to triple buffering and mip-mapping, or use a combination of all of these. This could greatly increase the realism of computer generated 3D

S3TC™ saves memory storage space and lowers system bandwidth requirements. S3TC™ provides a compression scheme that delivers high image quality with a simple decoder, easily implemented in hardware.

Here is a summary of the benefits:

- Adopted by Microsoft as a DirectX 6.0 industry standard, it’s easy for software developers to use
- Reduction in memory storage allows for more and larger textures yielding better image quality
- Reduced texture read bandwidth requirements improves overall system performance
- Good compression ratio of up to 6:1
- Block based, fixed compression rate with random access – easily implemented in hardware.
- Decompression in hardware is simple and fast
- Excellent quality – often better than palletized, JPEG or uncompressed RGB 5:6:5
- Simple transparent pixels can be encoded at no extra cost
- Complex transparencies and smooth alpha are also supported
- High quality, simple to use tools for encoding are available

Diagram of Savage3D's
Rendering Engine

s3line.gif (39103 bytes)

What does all this mean for the AOpen Navigator PA70?  Well, before we look at benchmarks, let have a gander at image quality.



MediaTek All Rights Reserved