AGP Features
Market Factors
When the AGP specification was originally conceived, video memory was very expensive in comparison to system memory. Moving some of the texture data to system memory leaves more of the local video memory free for Z-Buffer (depth perception data), frame buffer, and pixel buffers.
The amount of system memory that the AGP bus is given access to is determined by the AGP Aperture setting, which is user definable in BIOS. This setting is dynamically set by the operating system, and any unused AGP allocated system memory can be reclaimed by the operating system when not in use by the AGP card.
In reality, AGP texturing did not work as well as was expected, but was still better than PCI texture prefetching (a process in which the PCI graphics card would attempt to retrieve texture data from main memory before it was needed). If another device was using the PCI bus, the video card would have to wait until the bus was free to make its access. (To the user it would appear as if his program had stopped for a moment while the system waited for the chance to get the information it wants) AGP cards have exclusive access to system memory and can access texture data without the CPU's intervention.
A drop in video memory prices made AGP texturing a moot point later on, and now we have AGP cards on the market that contain as much as 32 to 64MB of local video memory. This means that most video cards can have up to ½ of the average amount of system Ram installed into computers!
Other AGP Features
In addition to AGP texturing and its 2X and 4X modes, AGP is also capable of utilizing "sidebanding" to further increase bandwidth. This is accomplished by using overlapping requests to increase the amount of data throughput. Sidebanding is not a highly used scheme; often times it hardly provides a performance increase at all. Tests have also shown that enabling sidebanding can cause problems with certain video cards.
AGP also offers a "write combining" feature (first introduced with the Pentium Pro processor) that allows it to combine multiple operations into a single read or write, making the full use of the bandwidth available.
Fast Writes is another newly exploited feature that allows the chipset to "force" a PCI transfer to the AGP system, thus bypassing AGP memory.
Without fast writes, any information the CPU needs to pass to the AGP master must be placed in AGP memory for the controller to read. Fast writes allows the CPU to bypass this, speeding up the data throughput.
Fast writes does supply a small improvement in performance, but some video cards don't support this feature. The bus logic method used to initiate a fast writes transfer is determined by the AGP bus mode (1X, 2X, or 4X). Fast Write operations can only take place under specific system conditions, and may cause stability problems. In cases where stability is compromised, the AGP card manufacturer should take steps to disable problematic features without harming the cards' performance too greatly.