The solution: Virtual Texturing

From the 3Dlabs VT White paper: VT creates a logical address space for texture memory that maps to physical locations on-chip, on card and in system memory. The maximum size for this logical address space is 256MB and is allocated in 4KB pages. When a texel is required for rendering by the graphics core, the virtual texturing engine does a table lookup to see where the texture data is located. If the texture is not on card, the VT engine will DMA the requested page into on-card memory where is can be accessed at full pixel use of onboard texture memory.

The process without a VT engine: the game asks for a texture through the OS, through the AGP bus it will be passed back from either the card or the system ram. In most of the cases textures will be passed back from the card memory.



Now with a VT engine: the same story, only the VT engine handles the textures.



So how can texturing with a VT engine be better than current texture setups? Well normally the complete texture will be loaded before any texel is rendered. The VT process will only load the texture when needed. This will result in a smoother loading process. Look at this graph: