Answer for Question 13
Options : 4, 8, 16, 32, 64, 128, 256
This option selects 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. This size also determines the maximum amount of system RAM that can be allocated to the graphics card for texture storage.
AGP Aperture size is set by following formula : Maximum usable AGP memory size x 2 plus 12MB. It means that usable AGP memory size is less than half of the AGP aperture size. That's because the system needs AGP memory (uncached) plus an equal amount of write combined memory area and an additional 12MB for virtual addressing. This is 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 Win98 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.
Many people recommend the AGP aperture size should be half of the amount of RAM you have. 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. As with the swapfile's size, the AGP aperture size required will be smaller as the graphics card's memory increases in size. That's 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 as large an AGP aperture as you can, up to half the system RAM. For cards with more graphics memory, you shouldn'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, many graphics card require at least a 16MB AGP aperture size to work properly. This is probably because the virtual addressing space is already 12MB in size! In addition, many software require minimum 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 quite a lot of graphics memory (32MB).
And if you remember the formula above, the 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 (actual usable AGP memory size is 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 as 64MB or at most, 128MB.