Graphics Aperture Size – The BIOS Optimization Guide

Graphics Aperture Size - The BIOS Optimization Guide

Graphics Aperture Size

Common Options : 4, 8, 16, 32, 64, 128, 256 (in MB)

 

Quick Review

The Graphics Aperture Size BIOS feature does two things. It selects the size of the AGP aperture and it determines the size of the GART (Graphics Address Relocation Table).

The aperture is a portion of the PCI memory address range that is dedicated for use as AGP memory address space while the GART is a translation table that translates AGP memory addresses into actual memory addresses which are often fragmented. The GART allows the graphics card to see the memory region available to it as a contiguous piece of memory range.

Host cycles that hit the aperture range are forwarded to the AGP bus without need for translation. The aperture size also determines the maximum amount of system memory that can be allocated to the AGP graphics card for texture storage.

Please note that the AGP aperture is merely address space, not actual physical memory in use. Although it is very common to hear people recommending that the AGP aperture size should be half the size of system memory, that is wrong!

The requirement for AGP memory space shrinks as the graphics card’s local memory increases in size. This is because the graphics card will have more local memory to dedicate to texture storage. So, if you upgrade to a graphics card with more memory, you shouldn’t be “deceived” into thinking that you will need even more AGP memory! On the contrary, a smaller AGP memory space will be required.

It is recommended that you keep the Graphics Aperture Size around 64 MB to 128 MB in size, even if your graphics card has a lot of onboard memory. This allows flexibility in the event that you actually need extra memory for texture storage. It will also keep the GART (Graphics Address Relocation Table) within a reasonable size.

 

Details

The Graphics Aperture Size BIOS feature does two things. It selects the size of the AGP aperture and it determines the size of the GART (Graphics Address Relocation Table).

The aperture is a portion of the PCI memory address range that is dedicated for use as AGP memory address space while the GART is a translation table that translates AGP memory addresses into actual memory addresses which are often fragmented. The GART allows the graphics card to see the memory region available to it as a contiguous piece of memory range.

Host cycles that hit the aperture address range are forwarded to the AGP bus without need for translation. The aperture size also determines the maximum amount of system memory that can be allocated to the AGP graphics card for texture storage.

The graphics aperture size is calculated using this formula :

AGP Aperture Size = (Maximum usable AGP memory size x 2) + 12 MB

As you can see, the actual available AGP memory space is less than half the AGP aperture size set in the BIOS. This is because the AGP controller needs a write combined memory areaequal in size to the actual AGP memory area (uncached) plus an additional 12MB for virtual addressing.

Therefore, it isn’t simply a matter of determining how much AGP memory space you need. You also need to calculate the final aperture size by doubling the amount of AGP memory space desired and adding 12MB to the total.

Please note that the AGP aperture is merely address space, not actual physical memory in use. It doesn’t lock up any of your system memory. The physical memory is allocated and released as needed whenever Direct3D makes a “create non-local surface” call.

Windows 95 (with VGARTD.VXD) and later versions of Microsoft Windows use a waterfall method of memory allocation. Surfaces are first created in the graphics card’s 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.

Unfortunately, it is very common to hear people recommending that the AGP aperture size should be half the size of system memory. However, this is wrong for the same reason why swapfile size should not be fixed at 1/4 of system memory. Like the swapfile, the requirement for AGP memory space shrinks as the graphics card’s local memory increases in size. This is because the graphics card will have more local memory to use for texture storage!

This reduces the need for AGP memory. Therefore, when you upgrade to a graphics card with more memory, you shouldn’t be “deceived” into thinking that you will need even more AGP memory! On the contrary, a smaller AGP memory space will be required.

If your graphics card has very little graphics memory (4 MB16 MB), you may need to create a large AGP aperture, up to half the size of the system memory. The graphics card’s local memory and the AGP aperture size combined should be roughly around 64 MB. Please note that the size of the aperture does not correspond to performance! Increasing it to gargantuan proportions will not improve performance.

Still, it is recommended that you keep the Graphics Aperture Size around 64 MB to 128 MB. Now, why should we use such a large aperture size when most graphics cards come with large amounts of local memory? Shouldn’t we set it to the absolute minimum to save system memory?

  1. First of all, setting it to a lower memory won’t save you memory! Don’t forget that all the AGP aperture size does is limit the amount of system memory the AGP bus can appropriate whenever it needs more memory. It is not used unless absolutely necessary. So, setting the AGP aperture size to 64 MB doesn’t mean that 64 MB of your system memory will be appropriated and reserved for the AGP bus’ use. What it does it limit the AGP bus to a maximum of 64 MB of system memory when the need arises.
  2. Next, most graphics cards require an AGP aperture of at least 16MB in size to work properly. Many new graphics cards require even more. This is probably because the virtual addressing space is already 12 MB in size! So, setting the AGP Aperture Size to 4 MB or 8 MB is a big no-no.
  3. We should also remember that many software have AGP aperture size and texture storage requirements that are mostly unspecified. Some applications will not work with AGP apertures that are too small. And some games use so much textures that a large AGP aperture is needed even with graphics cards with large memory buffers.
  4. Finally, you should remember that the actual available AGP memory space is less than half the size of the AGP aperture size you set. If you want just 15 MB of AGP memory for texture storage, the AGP aperture has to be at least 42 MB in size! Therefore, it makes sense to set a large AGP aperture size in order to cater for all eventualities.

Now, while increasing the AGP aperture size beyond 128 MB won’t take up system memory, it would still be best to keep the aperture size in the 64 MB – 128 MB range so that the GART (Graphics Address Relocation Table) won’t become too big. The larger the GART gets, the longer it takes to scan through the GART and find the translated address for each AGP memory address request.

With local memory on graphics cards increasing to incredible sizes and texture compression commonplace, there’s really not much need for the AGP aperture size to grow beyond 64 MB. Therefore, it is recommended that you set the Graphics Aperture Size to 64 MB or at most, 128 MB.

 

Support Tech ARP!

If you like our work, you can help support our work by visiting our sponsors, participate in the Tech ARP Forums, or even donate to our fund. Any help you can render is greatly appreciated!

Comments

comments

About The Author

Related posts

Leave a Reply

%d bloggers like this: