Op AGN 3D vond ik een stuk over video-memory. Even wat quootjes:
The framebuffer is the portion of the memory that contains the image that is seen on the monitor. In 3D graphics, there are always two framebuffers (double buffering.) The front framebuffer displays the frame that is sent to the monitor, while the the back buffer is where the next frame is rendered. In this manner, a frame is only displayed once it is 100% complete. In other words, you won't see the frame as each triangle is being rasterized, you will only see the end result.
A few things have to be explained before you can understand the purpose of the z-buffer. The conventional rendering pipeline deals with triangles one at a time. As each triangle gets processed, the pixels making up that triangle may or may not be written to the framebuffer. It depends on whether or not the new pixels are in front of, or behind whatever is currently stored in the framebuffer. The z-buffer helps in this regard by storing the z-value (or depth) of each pixel. For every pixel in the framebuffer, there is a corresponding depth value stored in the z-buffer.
Ideally, you want enough room leftover after the framebuffer and z-buffer to store the textures without having to resort to AGP texturing. In the case of 3dfx hardware, AGP texturing is not an option. AGP Texturing, technically referred to as Direct Memory Execute (DME), allows the graphics chip to use textures out of the system memory as opposed to the video card's local memory and thus overcome the memory limitations of the video card. The drawback, however, is that the bandwidth of the AGP2X bus is one sixth that of the local memory on a Voodoo3 or a TNT2 card. This sounds a bit sever, but in order not to mislead anyone, it should be noted that the performance hit does not directly translate to one sixth due to the presence of other bottlenecks (ie: CPU, geometry throughput, fillrate.)