- Apr 23, 2004
- 305
- 0
- 0
I've heard a variety of recommendations for setting AGP aperature: everything from "half the system memory" to "same as video card". What do you set it at for a 128MB video card on a 1024MB system?
AGP Aperture Size (MB)
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 the formula : maximum usable AGP memory size x 2 plus 12MB. That 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.
No, it's the amount of system RAM that is directly mapped to the VRAM. You can borrow more if needed but accessing it won't be as fast because of the translation required.The Aperture Size is the upper limit to how much system RAM the graphics card may borrow if it runs out of its own.
It happens all the time in games if the details are too high and your VRAM amount is too low. Games like UT2003, JA, COD and similar will easily texture swap on 128 MB cards.This rarely ever happens outside professional 3D modelling, so for most people it's a don't care.
You're mistaken. The first definition is correct. There is an amount of memory mapped to the video card memory which you can check in the properties of your card in device manager. This amount of memory is always equal to the amount of memory on your video card and can't be changed.quote:
The Aperture Size is the upper limit to how much system RAM the graphics card may borrow if it runs out of its own.
No, it's the amount of system RAM that is directly mapped to the VRAM. You can borrow more if needed but accessing it won't be as fast because of the translation required.
?This is address space, not physical memory used
Originally posted by: redfella
Ok, get this... in my new 6800 manual it recommends setting the AGP aperture to 4mb!
That's with the eVGA 6800 vanilla.
