FAQ

AGP aperture - what is it, how would I adjust it, and why would I need to?

Last Update: 2010/07/15

 

AGP Aperture Size is a setting in the bios of certain AGP motherboards

Common Options : 4, 8, 16, 32, 64, 128, 256

This BIOS feature allows you to select the size of the AGP aperture. The aperture is a portion of the PCI memory address range dedicated as graphics memory address space. Host cycles that hit the aperture range are forwarded to the AGP without need for translation. The aperture size also determines the maximum amount of system RAM that can be allocated to the graphics card for texture storage.

The AGP Aperture size can be set using the formula : maximum usable AGP memory size x 2 plus 12MB. That means that the actual usable AGP memory size is less than half of the AGP aperture size. That's because the system needs a write combined memory area equal to the amount of actual AGP memory (uncached) plus an additional 12MB for virtual addressing.

Note that all this is merely address space, not physical memory used. The physical memory is allocated and released as needed only when Direct3D makes a create non-local surface call. Win95 (with VGARTD.VXD) and later versions use a waterfall effect. Surfaces are created first in local memory. When that memory is full, surface creation spills over into AGP memory and then system memory. So, memory usage is automatically optimized for each application. AGP and system memory are not used unless absolutely necessary.

Now, many people recommend the AGP aperture size should be half of the amount of RAM your system has. However, that's wrong for the same reason why swapfile size shouldn't be 1/4 of the amount of RAM you have in your system. Like the swapfile's size, the required AGP aperture size will become smaller as the graphics card's memory increases in size. This is because most of the textures will be stored on the graphics card itself. So, graphics cards with 32MB of RAM or more will require a smaller AGP aperture than graphics cards with less RAM.

If your graphics card has very little graphics memory, then you should set the AGP aperture size as large as you can, up to half the system RAM. For cards with more graphics memory, you needn't set the aperture size to half the system RAM. Note that the size of the aperture does not correspond to performance so increasing it to gargantuan proportions will not improve performance.

Still, it's recommended that you keep the AGP aperture around 64MB to 128MB in size. Now, why is such a large aperture size recommended despite the fact that most graphics cards now come with large amounts of RAM? Shouldn't we just set it to the absolute minimum to save system RAM?

Well, in the first place, many graphics cards require an AGP aperture of at least 16MB in size to work properly. This is probably because the virtual addressing space is already 12MB in size! In addition, many software have AGP aperture size requirements which are mostly unspecified. Some games even use so much textures that AGP memory is needed even with graphics cards with lots of graphics memory.

And if you remember the formula above, the actual amount of AGP memory needed is more than double that of the required texture storage space. So, if 15MB of extra texture storage space is needed, then 42MB of system RAM is actually used. Therefore, it makes sense to set a large AGP aperture size in order to cater for every software requirement.

Note that reducing the AGP aperture size won't save you any RAM. Again, what setting the AGP aperture size does is limit the amount of RAM the AGP bus can appropriate when it needs to. It is not used unless absolutely necessary. So, setting a 64MB AGP aperture doesn't mean 64MB of your RAM will be used up as AGP memory. It will only limit the maximum amount that can be used by the AGP bus to 64MB (with a usable AGP memory size of only 26MB).

Now, while increasing the AGP aperture size beyond 128MB wouldn't really hurt performance, it would still be best to keep the aperture size to about 64MB-128MB so that the GART table won't become too large. As the amount of onboard RAM increases and texture compression becomes commonplace, there's less of a need for the AGP aperture size to increase beyond 64MB. So, it's recommended that you set the AGP Aperture Size to 64MB or at most, 128MB.

Keywords

aperture size agp 59067