Related Links:

Tech Page Home

Does AGP Really Improve Performance?


Copyright of all documents and scripts belonging to this site by Thomas Pabst 1996 - 1998.

Most of the information contained on this site is copyrighted material. It is illegal to copy or redistribute this information in any way without the expressed written consent of the author.

This site is NOT responsible for any damage that the information on this site may cause to your system.


First Class Website Hosting


Created with Microsoft FrontPage 97, although Front Page can hardly handle this page ;-)

Sound Blaster Live! Value--Geared for Gaming

Does AGP Really Improve Performance ?
Real3D's Response

 

This is the response of Real3D, co-developer of the Intel i740 3D graphics chip to Bert McComas' article 'Does AGP Really Improve Performance?', plubished on Tom's Hardware Guide a few weeks ago. I very much welcome this response, because it can only educate the reader even more when he can see topics in different lights. This is what the Tech Section is supposed to be about. I decided to include my very own comments as well, just to make this thread even more controversial and thus more interesting.

Thanks to Chris Stellwag, dedicated Marketing and Communications Manager of Real3D!

This article does not necessarily reflect the opinion of the authors Bert McComas and Thomas Pabst !


Real 3D has prepared the following response to Bert's article 'Does AGP Really Improve Performance?'.  Obviously, as co-developer of the Intel740 and manufacturer of the Intel740-based StarFighter family of graphics boards, Real 3D has a vested interest in their success.  However, we also believe that healthy debate, differing points of view, and open dialogue helps educate potential users about 3D technology and the complexities of 3D graphics.  This response is not meant to be combative; it is meant to present some facts that may have been neglected or misleading in the original article.  Real 3D has had several discussions with Bert regarding the article and our response, and while we may disagree in some areas, we do agree that presenting all sides of a story is fair and desirable.

We're going to first address the questions Bert posed in the article, and follow with a more detailed discussion and analysis.

Is AGP faster than PCI?

Bert McComas: "Yes, but not by much."

Real 3D: AGP is definitely faster than PCI.  The theoretical bandwidths of AGP and PCI are 533 MB/sec and 133 MB/sec, respectively.  With existing systems, we can demonstrate greater than 330 MB/sec through AGP.  Due to contention with other devices on the PCI bus and the lack of pipelining, PCI offers roughly 80 MB/sec.  Even without using any of the extra features of AGP, the AGP bus runs at 66 MHz and the PCI bus runs at 33 MHz so AGP provides double the data rate.

Tom: Theoretical peak bandwidth numbers can easily be used for impressing people. However I may be allowed to ask how much is left of these '4 times faster' when it comes down to real world applications. Isn't it strange that the currently fastest 3D accelerator is called '3Dfx Voodoo2' and comes as a PCI solution?

Is AGP (texturing) faster than (texturing from) local graphics memory?

Bert McComas: "No."

Real 3D: Yes for the i740; for other graphics adapters, it may be yes or no based on the architecture.  The i740 has a 64-bit memory interface and therefore, was intentionally designed with a very deep pipeline.  This means the architecture accounts for the latency of AGP memory so the pipeline is rarely held up waiting for texture data.

Tom: This may be a 'yes' for the i740, but this is only due to the fact that the i740 was pushed to take advantage of AGP as a rectification for AGP. Any 3D card will have a higher local memory bandwidth than what even AGP 1000000x will ever deliver. The local memory interfaces are now moving towards 256 bit width at highest clock rates, making AGP 4x look pathetic even before it's actually there. Why would 3D chip developers use 128 or even 256 bit local memory buses if AGP was so wonderful ???

Will an AGP2X board be faster than a 1X board?  

Bert McComas:  "Not necessarily."

Real 3D: AGP 2X offers more bandwidth than AGP 1X, but if an application only uses, say, 2MB of texture, then 1X mode is more than adequate.  We could argue forever at what point AGP 2X is required, but certainly the games coming out over the last few months use a lot more polygons and texture than they did a year ago and assuming this trend continues, developers and consumers will want the extra bandwidth.

Tom: 'Once the games are out that take advantage of .... ' this sentence makes me yawn sooo much! Isn't it that what we've listened to when MMX came out? Isn't it that what we heard when AGP came out ? Isn't this what we had to listen to when we wondered if we need 8 or 12 MB RAM for a Voodoo2 board ... ? ARE the games out now? Well, once the application WILL use this, the i740 as well as the Voodoo2 will be long history. It reminds me of a car tire manufacturer who offers tires for speeds of over 300 mph, telling us "please buy my tires, you will need them once your car goes 300 miles per hour". No thanks.

Isn't it true that any AGP board will be faster than any PCI board?

Bert McComas: "No."

Real 3D: No argument here. There are bad AGP boards out there just like there are bad PCI boards.  By the same token, there are excellent AGP implementations that do show significant performance advantages over PCI implementations.  In many cases, the StarFighter AGP/Intel740 demonstrates the performance advantages that are possible using AGP.

Tom: 3D chips from other manufacturers are faster though ....

Does graphics accelerator performance improve when AGP texturing is turned on?

Bert McComas: "No, graphics accelerators decrease in performance when using AGP mode."

Real 3D: It depends on the architecture.  The i740 always uses AGP texturing so there is no basis for comparison there.  Many of the AGP cards currently on the market are really just PCI cards with an AGP interface.  This means that the card operates just like an ordinary PCI board with twice the bandwidth rather than using AGP the way it was designed.  Therefore, assessments of AGP texturing performance can be difficult.

Tom: And again, just as above! Once the world understands the blessing of AGP, everything will get better. However, please buy the 300 mph tires RIGHT NOW!

Does AGP enhance CPU performance?

Bert McComas: "No.  When AGP texturing is used, CPU performance also decreases."

Real 3D: CPU performance decreases when AGP texturing is used because only one device can access memory at a time.  But CPU performance also decreases when an application is swapping textures out of memory via PCI or AGP for the exact same reason.  The only way texturing does not impact CPU performance is if all of the texture an application needs can fit in to the local video memory on the graphics board.  In most cases, this is not possible because of the size of the textures and not financially attractive to the consumer because of the additional cost required for more local memory.

Tom: Accessing local card memory will always be faster, unless the local memory interface was designed very poorly. Local graphics memory gets more and more each year, 16 MB will soon be the rule. High end OpenGL cards use up to 64 MB and more, why would they do that if AGP was a real alternative? Memory gets cheaper by the hour. It's simply untrue to say that local memory will be a problem. It's cheap, it's available and the amount is increasing by 100% every year for the last 4 years. AGP is a *cost saving* solution, not a high end solution!!!!  Period!

Then why is it that sometimes AGP cards score better than non-AGP on benchmarks?

Bert McComas: "This is usually because the non-AGP texture management software implementation of the application or benchmark in question is not very efficient.  Game developers pay special attention to the performance of their texture swapping capability.  The best techniques can show equal performance under normal circumstances.  Some benchmarks may use a less optimized approach."

Real 3D: Basically, Bert is suggesting that some AGP cards score better because of poor application design.  This is not necessarily true.  The biggest effect is quantity and size of textures.  PCI designs are effective if textures are 256x256 or smaller and not too many textures need to be copied into local video memory while the application is running.  If textures are large or there are lots of them, the lower PCI bus bandwidth becomes a limiting factor compared to AGP.  This difference will become more apparent as newer benchmarks and applications use more and larger textures.

Tom: Of course, the future will change everything. We'll see about that.

What can I do to avoid the negative performance impact of AGP?

Bert McComas: "Make sure you have a generous configuration of high performance graphics memory, and don't buy a i740 based board"
Real 3D: Exactly how much graphics memory is enough?  There are already games using upwards of 15-20 MB of texture and you can expect this trend to continue as developers create more realism and attempt to improve overall gameplay.  Even with today's low memory prices, why force consumers to buy a graphics card with 32, 48 or 64MB of memory when the average system now ships with 64MB of RAM that's hardly used by most applications.  No matter how cheap the memory is, the cost still gets passed to the consumer who would have no added memory cost to pay if opting for an AGP card.  Also, if you add more memory to the graphics board, this is memory that can only be used for 3D applications.  System memory can be shared by a number of resources.

As for the comment on the i740, we believe even Bert would agree that this statement is a little misleading and maybe more harsh than he intended.  The i740 – and in particular the Real 3D StarFighter – is at or near the top in 2D and 3D performance whether you compare to other AGP implementations or PCI solutions in its price range.  Also, the i740 is responsible for demonstrating that you do not need to sacrifice image quality in the name of performance.  The i740 has set the standard for visual fidelity on the PC, as evidenced by the increasing focus paid to image quality in upcoming graphics chips.

What is AGP good for?

Bert McComas: "It is a safety net in case you weren't wise enough to buy enough graphics memory for your card…"

Real 3D: As stated above, how much graphics memory is enough?  In basic terms, AGP provides significantly more bandwidth than PCI does.  This allows games and other applications to continue to improve by providing the needed bandwidth for an increasing number of polygons and textures.  AGP 2X currently provides four times the bandwidth of the PCI bus.  In the next year, we'll see AGP 4X deliver eight times the bandwidth.

Tom: In the next year we will also see 3D cards with 32 MB local memory and more, but Real3D wouldn't talk about that. 4x rulez, peak bandwidth rulez, tires for 300 mph rule too!

When that time comes, should I buy a faster CPU or more graphics memory?

Bert McComas: "Intel wants you to think that you need a faster CPU, when in fact all you may need is a few dollars worth of graphics memory…"

Real 3D: Our contention is you need neither a faster CPU or more graphics memory.  If you have an AGP card, the worst case scenario requires you to just buy some more system memory.  Bert's statement that "all you may need is a few dollars worth of graphics memory" is very misleading because only a small percentage of the graphics cards on the market have upgradeable memory and those that do have significantly more upgrade limitations than a PCs system memory does.  

Tom: Misunderstanding Chris! Why 'upgrade'? Buy a card with enough local memory in the fist place. Banshee will have 16 MB, TNT will have 16 MB, G200 will have 16 MB .....

Technical Background

Bert does an adequate job of explaining what AGP is and how it works in comparison to PCI.  AGP DMA Mode can offer good performance and concurrency.  But while his points about AGP Execute Mode creating bottlenecks if data is not immediately accessible may apply to some graphics chips, they certainly do not apply to the i740.

The Execute Mode implementation used by the i740 provides a variety of key features.  

  • The i740 was designed with a very deep pipeline to avoid bottlenecks while waiting for texture data.  Early in the i740 pipeline, the required texels for each pixel are identified and requested.  This allows for the latencies associated with AGP so that the texture data is available for rasterization when needed without creating a bottleneck in the pipeline.
  • As part of this design, only the texels required by the current frame need to be accessed.  So if a texture map has a size of 512x512, but only a 16x32 piece is needed, then the i740 only grabs those required texels. In DMA mode, the entire 512x512 map must be copied to local memory.  
  • By accessing only the required texels, textures up to 1024x1024 can be used with no performance penalty.  A single mip-mapped texture of this size would take up 2.7MB of local memory in other architectures making large maps nearly impossible to use.  
  • It then also follows that if anything less than the entire texture map is needed, which is often the case, that the i740 implementation would require less bandwidth than DMA Mode because less data needs to be accessed.  And if less data is being accessed, then the amount of time the CPU is being kept from main memory also goes down.  
  • Finally, the i740 is not impacted by frequent texture changes because there is no reliance on textures being stored locally.  All textures are accessed directly from AGP memory so texture changes do not require copying each new texture to local memory for use.


30% Reduction in Accelerator Performance

Bert goes on to discuss the relative performance of AGP texturing to local memory texturing of several boards currently on the market.  The test uses texture sizes up to 4MB and shows an average 30% performance increase for local versus AGP texturing.  As stated before, at some point there is a limit to the amount of local memory on the board.  A better test would use more texture than any of the boards have in local memory and then evaluate the boards on how effectively they use AGP beyond the bounds of their local memory.  This type of test would better represent the newer applications on the market and those to come in the future.  

10% Reduction in CPU Performance

We all agree that when an AGP device is accessing main memory that the CPU is locked out of that memory thus reducing overall CPU performance.  The point that Mr. McComas continues to overlook is that if textures are DMA'd from system to local memory, the exact same thing happens.  The CPU is forced to wait while the DMA copy happens.  In reality, since the i740 needs only the required texels for the current frame, the memory accesses come in short bursts and require less total data; therefore, blocking the CPU from memory for less time than the sustained accesses required for DMA copying.

Conclusion

We've tried to address a number of points Bert made and illustrate that AGP certainly delivers a number of advantages over PCI.  Also, we'd like to take the opportunity to address what Bert calls "The Deal with the i740".

As Bert himself states, "the i740 seems to be a very good product."  As mentioned before, the Intel740-based boards usually rate very high in overall 2D and 3D performance, and this is both in benchmarks and real-world applications such as games.  At the same time, no one will deny – including Tom himself – the outstanding image quality delivered by the i740.  

We do not agree that the i740 drivers are "crippled" – and that goes for both the Intel reference drivers or our own custom drivers specifically for the Real 3D StarFighter.  The i740 hardware will not allow texturing in local memory on the board, and in the case of the i740, it wouldn't deliver any significant benefits.  As we've discussed previously, the AGP execute mode implementation of the i740 does not create any bottlenecks and is certainly faster than the PCI bus.  Granted, the i740 is not "blowing away the competition" – at least not all -- in terms of raw performance.  However, we could make a good argument that the i740 – or at least the StarFighter – is "blowing away the competition" when you consider both 2D/3D performance as well as image quality.  And we don't expect people to take our word for it.  We'd encourage people to check out the numerous reviews of the StarFighter board and then judge for themselves.

We appreciate Bert's recognition that Real 3D may be the only company that has the ability to fix the situation.  The point is, though, that there's no situation to fix.  The StarFighter/i740 offers a number of advantages over other graphics boards.  Is the i740 perfect?  No, there are always improvements that can be made.  But the fact remains – at this point in time – the i740 is a very good product and the StarFighter is the best of those Intel740-based products.  

Tom: Thank you Chris for this comprehensive information! The i740 is certainly a good chip at its price level. However, so far I'm still waiting for the one application that will make me trash my two pathetic PCI Voodoo2 boards for a really great AGP card.

Chris Stellwag
Mgr. Corporate Marketing and Communications
Real 3D