Dynamic Textures

Dynamic textures are almost exactly the same as dynamic buffers. Because applications also frequently lock and modify dynamic textures, drivers should:

  • Optimize the texture upload or tiling speed.

  • Create dynamic textures in a nontiled manner if the hardware architecture lets the driver use nontiled textures. This is because the performance improvement received from not requiring the driver to untile dynamic textures when the textures are locked is greater than from the fill-rate advantages of tiling.

  • Set up multiple buffering similar to the description in Dynamic Vertex and Index Buffers. That is, set the DDLOCK_OKTOSWAP bit to lock dynamic textures. Similarly, storing dynamic textures in local video memory can also cause system performance to suffer if the application writes to such textures in a nonsequential manner. Therefore, the driver should store dynamic textures in AGP memory.