Skip to main content
GameDev.net gamedev.net
🔒 Locked

what is AGP memory?

Started by feiyurainy Jul 25, 2004 at 10:00 PM 7 replies 11.6k views
Original Post
feiyurainy
feiyurainy
I know the buffer will be alloced into three kinds of memory:system memory,video memory,AGP memory. but what is AGP memory?
Alpha_ProgDes
Alpha_ProgDes
AGP comes with its own memory right?
so why do you need matching memory in your computer?

for example i've seen gfx cards with 128MB DDR RAM but the requirements are that you have 128 MB of RAM on your computer too? why?

doesn't that defeat the purpose of having its own RAM?
Beginner in Game Development?  Read here. And read here.  
boebi
boebi
No, it doesn't defeat the purpose. The point of having the DDR memory on the video card itself, is that its dedicated to the GPU, and also physically closer. Its expensive to place fast memory on a video card, so after that memory fills up, the AGP memory is then filled, after that the normal RAM is filled, followed by the hard drive. This is done to keep things efficient while also low cost.
Donavon Keithley
Donavon Keithley
Quote:
Original post by boebi
No, it doesn't defeat the purpose. The point of having the DDR memory on the video card itself, is that its dedicated to the GPU, and also physically closer. Its expensive to place fast memory on a video card, so after that memory fills up, the AGP memory is then filled, after that the normal RAM is filled, followed by the hard drive. This is done to keep things efficient while also low cost.

Yes. Also, and in some cases more importantly, AGP memory has the advantage that the CPU can write to it very quickly -- more quickly than local video memory (on the video card) and even system memory, as I tried to describe earlier in this thread:

http://gamedev.net/community/forums/topic.asp?topic_id=259270

AGP memory is just a chunk of regular system memory -- the memory on the motherboard -- that's given special treatment. It's marked as WC (write-combining) by the CPU which allows for fast writes but slow reads. It's also mapped by the AGP GART ("Graphics Address Remapping Table"), which means that the video card can read directly from it relatively quickly. But not, as boebi describes, as quickly as local video memory.

It's basically a compromise between regular system memory and local video memory. Because the CPU can write to it quickly and the GPU can read from it relatively quickly, it's a natural home for D3DUSAGE_DYNAMIC resources.
Alpha_ProgDes
Alpha_ProgDes
ah! so there's 3 different types of memory going on.
i didn't realize that.

i though AGP memory was what was on the video card itself. i didn't realize it was on the motherboard separate from the system memory.

so when dealing with graphics data there's video card memory (the 128 MB DDR RAM that's physically on the card), system memory (the regular RAM that's already in your computer) and AGP memory (memory that's on the motherboard but separate from the video memory and system memory).

am i correct?
Beginner in Game Development?  Read here. And read here.  
Donavon Keithley
Donavon Keithley
Quote:
Original post by Anonymous Poster
AGP memory IS regular system memory, but it's marked as special. this allows the video card to access it faster than it would be able to if it wasn't marked as AGP memory.

So there are really only two types of memory here, video and system. "AGP memory" is system memory that has the ability to behave almost as if it WERE video memory.

Physically, yes, there are only two kinds of memory, system memory and local video memory. Logically there are three kinds when you take into account the AGP mechanics. Note that it's not as if there are certain RAM chips reserved for AGP. Physically there's just system memory. The CPU and AGP both treat this memory in terms of 4K pages, and what makes a 4K page "AGP memory" is the fact that it's write-combined from the CPU's perspective and that it's mapped into the AGP's GART so that the video card can see it.

And as I understand it (based on conversations with a colleague who used to write drivers for 3Dfx and Nvidia), the video hardware can *only* directly access its local video memory and AGP memory; it cannot directly address regular system memory.

In Windows terminology, the RAM on the card is "local video memory" and the AGP memory is "nonlocal video memory". They're both "video memory" -- that is, the video hardware can see it -- but the "nonlocal" operations have to cross the AGP.
feiyurainy
feiyurainy
oh Thank you everyone,I have get what i need to know from all of you ,Thank you .

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.