Texture Management
A non-trivial problem
- Fitting textures into memory is a classical NP complete CS problem
- Textures use large amounts of memory
- A 256x256 true-color texture uses 384KBytes of memory
- Applications tend to use many (100s) textures simultaneously
- Textures must be resident on card for maximum performance
- Up to 8 texels accessed per drawn pixel
- ~4GB/s of memory bandwidth to read texel data
- Onboard texture memory is limited, and must be managed
- Bitmaps are 2D entities, and must be fitted inside of a 2D texture store
- Typically, the textures are square, and sized as a power of 2
- Bandwidth between the texture store and main memory is limited
- AGP 2X is 512MB/s
- AGP 4X is ~1GB/s