There isn't a computer gamer out there that hasn't heard
the term AGP, or Accelerated Graphics Port, used in a requirements
listing on the back of the latest game they've been eyeing. But what is AGP? It isn't rare
that our favorite three letter acronyms quickly become lost in their household
connotations and we eventually forget what it is they are actually providing us with, if
anything at all (the letters MMX come to mind). So what is AGP? (If you're already
familiar with the basics of AGP you'll want to skip past this part)

AGP is, according to Intel, a "high performance,
component level interconnect targeted at 3D graphical display applications and is based on
a set of performance extensions or enhancements to PCI." Basically it is a
specialized bus whose sole purpose is to provide "housing" for 2D/3D
accelerators in your AGP compatible system.

When operating in its currently standard 2X transfer mode,
the AGP bus allows for peak transfer rates of up to 528MB/s up from the 132MB/s of the PCI
bus. Using the faster transfer rates the AGP bus allows your AGP compliant computer can
store those extremely large textures that games may use in your system memory and retrieve
them quickly instead of having to use your graphics card's limited local memory for
texture storage and retrieval. What happens when a non-AGP graphics card receives a
texture that is larger than its local memory? The same thing that happens when your system
runs out of local memory, it begins swapping, but in this case, instead of swapping
to your hard disk, your graphics card will perform texture swapping with your system
memory which, with the absence of the high speed AGP bus, slows performance down
tremendously. This concept of AGP texturing is made possible by the hardware behind it,
which is commonly referred to by the acronym GART, or Graphics Address Remapping
Table. The function of the GART is basically do allow for the hardware to access
large texture maps as single data objects in system memory, permitting your AGP card and
software using the AGP bus to access the same memory addresses.

The second major feature of AGP which will briefly be
alluded to will be the ability of AGP compliant graphics adapters to manipulate the
textures it stores in the system memory directly as opposed to retrieving them and
processing all the manipulations locally. This process, known as Direct Memory
Execution, or DIME, allows memory intensive texture-mapping procedures to be
performed within the spacious system memory rather than in the restrictive graphics card's
local memory.

AGP a Reality?

If you can think back to the release of Intel's first AGP
chipset, the i440LX, one of the most commonly voiced criticisms of the move to AGP
graphics accelerators was that no games would take advantage of AGP or AGP texturing for
that matter. Although the design was wonderful in theory, in application it boasted a
relatively small performance improvement in the real world tests of the time. Even today,
playing a game of Quake 2 doesn't really stress the amount of memory on most current
generation 3D accelerators. It is because of this assumption, that the current wave and
the next generation in 3D games won't truly require support for AGP texturing (the ability
to use the AGP bus as a means of transferring textures to/from system memory) that
companies like 3Dfx have stuck to either 100% PCI solutions (i.e. Voodoo2) or poorly
implemented AGP specifications (i.e. Banshee/Voodoo3) that don't allow for AGP texturing
in light of keeping costs down. Is that how things truly are?

Here's a reality check, they aren't. It's very easy to
understand, more detailed textures simply look better and, unfortunately, more detailed
textures do take up more space than those of lesser detail. This brings up the whole image
quality vs performance debate, however that's something that we won't get in to for now,
instead we'll leave the discussion at this comparison: regardless of how beautiful a
sunset is, if you're blind to a point where all you can distinguish is general color
changes, the sunset has virtually no effect on you. That may be an extreme example, but
it's a quick end to an argument that could take pages upon pages to even come close to
resolving. After playing a game that has extremely detailed textures on a single 12MB
Voodoo2 at 800 x 600, then playing the same game at 800 x 600 on an AGP nVidia Riva TNT
based graphics card, you can truly begin to notice the difference. While older games such
as Quake 2 undoubtedly run beautifully on a single Voodoo2 and run like a dream on a dual
Voodoo2 SLI setup, there comes a point where even 24MB of memory (SLI Voodoo2's) isn't
enough to cover the demands of the upcoming games. Remember when you heard all of the
industry analysts talking about how AGP would eventually be put to good use in the gaming
industry? That time is almost upon us, and it's time for companies to realize that AGP
texturing and taking full advantage of the specification's capabilities is something all
of their video products should do. The technology is there, and it's about time that we
start using it. Luckily companies like nVidia, Matrox, and S3 have already taken the first
steps in that direction but it seems as if there is more that could be done