[NTLUG:Discuss] AGP Gart de-mystified (long)
Steve Baker
sjbaker1 at airmail.net
Mon Jun 19 22:43:56 CDT 2000
"Matthew R. Pavlovich" wrote:
> BACKGROUND:
> AGP does some really cool things(tm). First off, it has an increased
> bus speed, so it improves performance (66Mhz - 1x mode; 133Mhz - 2x
> mode, etc) of moving data from main memory to the video card.
Yep - I knew that. What I didn't realise that there was some kind of
fallback PCI-bus emulation going on in there in the absence of AGP
drivers in the kernel.
Wow! That means that the *AMAZINGLY FAST* GeForce graphics card would
be even faster if I had the thing set up right...that's incredible.
I'm looking at a $200 card that's already considerably faster than the
half million dollar SGI machines I use at work...and already the GeForce-2
is out that doubles that speed. Moore's law simply doesn't apply here!
> The
> second really cool thing, is its ability to utilize main memory as video
> memory. Some of you may have seen this on some of the new low end atx
> boards that have video chips on board, in the BIOS you specify how much
> system memory you wish to set aside as frame buffer memory.
Dunno about "really cool"...I'd call this "really lame". Your main memory
is a horribly limited resource - with modern super-fast CPU's, you need
every ounce of RAM bandwidth without a hungry graphics card eating much
of it.
Looking at it from the other side, the graphics card probably needs to
access:
8 to 24 texels (16 or 32 bits each) read from texture memory
1 colour (16 or 32 bits) from frame buffer (probably read/modify/write)
1 Z (16 or 32 bits) from depth buffer (certainly read/modify/write)
...for a total of between 24 and 112 bytes PER PIXEL DRAWN. Since some
modern graphics cards are pushing in excess of a Gigapixel per second,
you can see that doing texture and frame buffer access over a 133MHz
bus is pretty lame.
> The third
> (and most useful IMHO) is the ability for the AGP chipset to represent
> fragmented sections of memory as one contiguous space. This is most
> useful when optimizing DMA transfers for moving textures from disk to
> memory.
Yep - that's probably the number one benefit IMHO.
> 3dfx users- use 2.4.x (DRI module and AGP module) and X 4.0.1 you will
> have really good 3d.
Yep - I'm looking forward to doing that on my son's Voodoo-3.
> Nvidia- You are stuck using whatever nvidia releases, b/c they have not
> opened their device docs. Their solution is a BINARY ONLY X 4.0 module
> that does not use DRI. I am still trying to lobby Nvidia into changing
> their mind, but unfortunetely they have better driver programmers than
> anyone, and so they can actually afford to support Linux by themselves.
> (Makes the Open Source arguement more difficult).
Yep. They have ported their windoze drivers to Linux - and I can tell you
that their maturity definitely shows through. A number of minor problems
I've been assuming were application errors in my code 'went away' when I
started using the nVidia drivers...so now I'm backtracking through those
problems to see if I can pin them down as Mesa bugs - so far, three of
them certainly are.
OpenSource is nice - but fast, stable, conforming drivers are a luxury
it would be hard to give up. I can understand why nVidia don't want to
do the major rework to get into DRI.
--
Steve Baker http://web2.airmail.net/sjbaker1
sjbaker1 at airmail.net (home) http://www.woodsoup.org/~sbaker
sjbaker at hti.com (work)
More information about the Discuss
mailing list