AGP vs PCI - the final battle
The AGP port was introduced in 1997, and it promised bigger bandwidth for graphics cards. Motherboard manufacturers started to add AGP port on motherboards after 1998-1999. Before that, graphics cards used the PCI bus, which was found on computer motherboards made from 1995 to about 2010. The original PCI slot ran at 33 MHz, and offered only 133 MByte/sec bandwidth. AGP promised more than that.
The introduction of AGP
The original AGP standard offered AGP 1x and 2x speeds. AGP ran at 66 MHz, and the 1x standard offered 266 MByte/sec, the 2x standard offered 533 MByte/sec bandwidth rate. Early 3D graphics chips were not able to process more than 10000 polygons on fluid frame rates, and they were typically limited to 4 or 8 MByte video memory. PCI was enough for this. However, when more modern graphics cards appeared on the market, they required more than this. The new AGP standard allowed to push millions of polygons per second through the bus, allowed to upload and swap textures faster, and later on, to upload vertex buffer objects to the video ram very rapidly.
No AGP for OEMs
There was just one problem: 486 and early Pentium-class computers had no AGP slot. Cheap OEM motherboards for Celerons, Pentium3, and even cheap Pentium4 builds had no AGP port. Integrated VIA C3 boards had usually no AGP slot. They came with integrated graphics chips on the motherboard, typically with quite anemic performance. These motherboards still had PCI slots, so the solution was obvious: lets use a PCI graphics card in them.
PCI 3D cards disappearing
After the introduction of the AGP slot, every graphics chip manufacturers of the time, including 3dfx, nVidia, ATi, S3, Intel, 3Dlabs, Matrox, Cirrus Logic, Trident, PowerVR, and SiS switched their portfolio to offer AGP graphics cards mainly. AGP chips are sort of backwards compatible with PCI signaling, so in theory, PCI video cards can be made with chips designed for AGP. This is true, but relatively few PCI card was made after the apperance of AGP. Companies only made them in small quantities, and they were not available in stores. Older PCI 3D cards - only usable for older games - also became a rarity, especially the high-end ones, as they stopped manufacturing those as well. I remember going to a local shop with my friend to buy a PCI graphics card in 2000, and the shop owner looked on us like some kind of aliens: what we was ever thinking? He told him, they don' have PCI cards for like 4 years, despite the price list contained several PCI cards. He was forced to buy a new computer (fun fact, the motherboard of that computer he bought then, is the motherboard i will use in this test).
The last PCI graphics cards
nVidia switched primarily to AGP after the release of the Riva128ZX, and from the TNT1 and TNT2 generation, they barely made any PCI cards. 3dfx also made video cards mainly for AGP after the release of the Voodoo3. ATi made PCI cards, but only for OEM/office and multimedia type of purposes, with outdated graphics chips, basically unusable for 3D purposes of the time. S3 made PCI variants from the Savage4 in very small numbers. After the DX8/9 era, only a handful of 3D PCI cards were made, and in this test, i will show one of them. Its an interesting side-note: PCI cards were also made based on more modern DirectX 10/11 class chips in the recent years, so the technology is still alive, but finding them is quite hard. The price of the PCI models are more expensive than the AGP or PCI-E variants, so sometimes it would been cheaper to change the whole motherboard instead.
nVidia GeForce FX5200
The GeForce FX family was the first DirectX9 capable chip lineage of nVidia, it rivaled with the Radeon 9000 series of ATi. The FX5200 was a low-end office and entry level casual gaming card, a cheap and affordable one. nVidia received heavy criticism for the low performance of the FX cards, but the FX5200 was cheap, and it became a viable product. FX5200 based cards were manufactured in large numbers from 2002 to 2007. The cards usually had 64 MByte video memory, but cards with 128 MByte were also made. A typical FX5200 ran at 250 MHz core speeds and the memory also ran at 250 MHz. The memory chips were connected on a 64 bit memory interface. 128 bit variants were also available in theory, but in practice, cards usually were equipped with 64 bit bus.
nVidia GeForce FX5200 PCI
Some manufacturers made a PCI version from it as well, to offer fresh blood for some multimedia and office computers with no AGP ports. The specimen in this test is also an FX5200 PCI card, with 64 MByte video memory, 64 bit memory bus. The card ran at 250 MHz/250MHz by default, but i decided to downclock it a bit. In the end, i have modded the bios and downclocked the card to 200MHz/200MHz instead, which should make it to run cooler and preserve its health, as these cards are quite rare to find, and i dont want to kill it (i would like not to buy another one for $100).
picture: GeForce FX5200 PCI
As you can see, the card screams quality. The card feels heavy, no shortcuts were made: large dry-capacitors, plenty of circuit even on the back of the card, to stabilize the card in the PCI slot. The passive heatsink is bigger and grips more firmly on the chip than on the AGP cards.
nVidia GeForce FX5200 AGP
The normal AGP card in this test is a cheap OEM FX5200 card, with passive cooling as well. Similarly to the PCI model, it uses 64 MByte video memory, and 64 bit memory interface. The card is smaller than the PCI version, it has less electronics and it is lightweight compared to the PCI version.
picture: GeForce FX5200 AGP
This card is easy to find, however, to have a fair comparison, i have also downclocked this card to 200 MHz/200 MHz. An interesting side-note is, the image output on the monitor of the PCI card looks a tiny little bit better, probably due to that cheap-o ribbon cable they used to form a VGA port.
ATi Radeon 9250
To also have a non-nVidia card in the test, i have included the Radeon 9250 in the test as well. This card have 128 MByte and a 128 bit memory interface. It was a huge rival of the FX5200 series. I haven't underclocked this card, but i should have: the chip is very hot when running a game.
It runs at 240 MHz at default (i should downclock it to 200 MHz sometimes as well) and the memory runs at 200 MHz. Interestingly, this chip only supports DirectX 8.1 in contrast to the midrange and high-end models of the Radeon 9000 family.
The test system
My fastest AGP system right now is the notorious horror Celeron build, which i have already introduced in earlyer articles. This time, it will be equipped with 384 MByte memory, and with a Pentium3 processor, overclocked to 720 MHz.
CPU: Intel Pentium3 700 MHz @ 720 MHz
RAM: 3x128 MByte SD ram at 103 MHz
Sound: Very solw CMEDIA CM8338
HDD: Samsung 80 GB
This system is going to be slow!
Please note: This system will not be able to unleash the potential performance of the FX5200 chip. The integrated CMEDIA sound card steals the 10-30% of the performance in games, eradicating the results further. The FX5200 chips are also underclocked by 20%. The point of this test is, however, not to showcase the potential performance of the FX5200, its only to compare the performance of the AGP and PCI variants under similar, typical conditions. You can safely add a few extra fps on top of every results to have a more optimal view of the performance.
The games
I have tried to search for game demos i have played in the early and mid 2000s on my computer back then. Some games are from the early 2000s, and some are as new as 2006. I have added varios genres and type of games to this test. Due to the test system, the performance will be slower than it should, but the performance of the AGP and PCI card should compare well under these games.
IL-2 sturmovik
The first game in this test is IL-2 Sturmovik 1946. This is an airplane simulator, which mostly covers the second world war, and the post-war era. You can navigate Japanese aircrafts in the Pearl-Harbour attack, fly around Smolensk with ME262 airplanes, but Russian and American side of airplanes are playable too. The game was made by a Russian studio. Lets see the results.
Dear god, the Russians can indeed make interesting and fun games, but they cant optimize. Now they will have to learn this skill due to sanctions. This game runs terrible on this computer, but there is no technical reason for it to do so. I have remember it even had some performance issues sometimes on my Athlon computer back then, but i havent expected this bad result. Its equally unplayable on all cards.
Etherlords 2
Another Russian game, this time its a Fantasy game. Its a sequel to the first (and better) Etherlords, this time it focuses more on the story. You (as some elf) roam around in some forest village on top of a giant crab monster and fight other monsters. Lets see the performance.
The russians didnt yet learned how to optimize a game engine, so the results are equally terrific. I must say the fps drops below 6 on the FX5200 PCI more frequently than the other two cards, but the difference is not significant. Its unplayable.
Collin Mcrae Rally 3
This is a very nice racing game, it does not runs on older hardware, but it runs very nice on newer ones. I have throttled the settings to low, and selected 800x600 to allow some head-room for our test-cards to show the difference between AGP and PCI more.
The two card performs identically, both topping out at 18 fps. This game would be playable if i dont underclock the graphics cards (and use a proper sound card). The Radeon reaches 23 fps, but that isnt underclocked in the test, so it has an easyer task.
F1-2002
I have played this game a few times, not as much as F1GP3, but thats more like a simulator, this one gives me a more arcade-ish style experience. The game was unplayable on pre-Pentium3 processors, but the Pentium3 gives enough performance for it. Lets see the results:
In this test, the AGP card is significantly faster than the PCI variant, almost two times. It seems this game doesn't uses vertex buffers, but uploads a lot of geometry in every frame through the AGP/PCI slot to the card, which makes a lot of difference. This is the first test there is a notable difference. The Radeon struggles against the underclocked FX5200 cards, so this time nVidia wins.
FIFA 2003
This is a soccer game, which i hate, but i figured out i have to test a lot of sport-games, as those were the best games of the 2000s. Nowadays no one would play such a game, but from a technical aspect, its not a bad game. I am not totally happy with the performance, lets see what happened:
As we can see, the PCI version lags behind the AGP cards, the difference is not significant, but still turns the gameplay more messy, so you its not fun any more to control Messi. Sorry, i was not able to keep this joke inside.
FIFA 2004
Its similar to the previous game, but it has more effects, like shadows and such. Its pretty much the same thing, it runs a little bit slower. For me, its equally boring, and i would probably destroy my computer if i would be forced to play with this. Probably the English and Spanish people enjoy this.
The results are suspiciously similar. The AGP version of the FX gets slower, the Radeon and the PCI FX doesnt loses any performance compared to the prequel release.
Flatout
This is a fun game-race, a little bit feels like a remake of Stunts. Its a more demanding game, which starts to stutter a little bit more, when a lot of action happens. This game was glorified by game-mags, but it turned out to be a turd. Levels are boring, load times are slow compared to the golden era of games.
The performance is not too bad, the Radeon 9250 usually manages to maintain fluid frame rates. Dont forget the FX cards are underclocked, otherwise they would also be in the same league, so the 9250 is not neccessary faster in this game. We can see the PCI version of the FX is about 40% slower than the AGP version of the game. So this is another game where the speed difference is significant, and probably it would not reach playable frame-rates even if i would put in a normal sound card, and clock the card back to the original 250 MHz clock rates.
MotoGP2
MotoGP2 was a quite popular motor racing game. The game is not too demanding, but on this computer, the sound card drivers hogged the system more than they should. You can safely add a few extra fps to the results of every card to imagine what they would perform under more ideal conditions.
The FX5200 PCI lags behind the AGP variant, but the difference is not that high. When there is a lot of action going on, the PCI version is not too fun to play with. The Radeon offers very bad performance for some reason, it feels more choppy even than the FX5200 PCI. The FX5200 AGP would play this game fluidly without the underclock (and with a normal PCI sound card) above 25 fps.
Need for Speed Hot Porsuit 2
This game was a popular race game. I have played its prequel and not this. This looks like more fun, and the performance is really good. The game is well optimized for this range of processors and video cards, there are no glitches or lockups, the frame rate is fluid even if there are a lot of cars on the screen.
The FX5200 and Radeon 9250 performs 37 fps, which is probably a CPU limit. I assume the performance would be above 40 fps with a normal sound card. The FX5200 PCI is about 30% slower than the AGP variant, but its still playable at 27 fps. Without downclock, probably the PCI version would also reach 30 fps, so despite the lower performance, this game is fluid on that card.
Need for Speed Most Wanted
This is a sequel of the Hot Porsuit 2, the good old optimizations are long gone. Everything is full of shaders, light effects, reflections. This was one of the first games using effects like this in this quantity, and its quite of irritating. More like an effect-show than a game.
The performance is terrifying, and even if some problematic factors are being removed from the calculation - such as the cpu hog integrated sound card - the game doesn't gets much faster. The PCI version of the FX5200 is about 15% slower, but the game is equally unplayable on everything.
Postal 2
Postal 2 is a British redneck simulator. Did you felt like going out to the street, and just beating and destroying everyone you dislike? If you are afraid to do it because its illegal, then here is this game, which you can use to destroy everything around yourself.
Interestingly, the PCI card wins this time, but only by one fps. The performance looks bad, but actually it gets above 20 fps once the sound card is replaced to a Sound Blaster Live or equivalent card, so it will be playable on these cards, dont worry.
Price of Persia: Sands of time
This was based on the nostalgic Prince of Persia 1/2 games, which were fantastic logical games for DOS. Escaping from catacombs was never such boring as with this: slow loading times, crappy animated menus, everything from the 2000s which no normal person would ever want in a game.
The performance is good. The Radeon 9250 wins in this game over the FX series, and would win probably even if the FX cards wouldnt been downclocked. The PCI version is about 10% slower than the AGP card, but nothing significant. Its playable on all cards. Sadly, this game doesn't gets too much faster from a normal sound card, so not too much headroom without upgrading to a stronger processor.
Tony Hawk's Pro Skater 2
This was a very good and fine game, i remember playing a lot with it. Its a skater simulator, and its very good. The controls are ok, and it can be played with relatively weak DX6 based graphics cards as well.
The performance was ok on all cards. The FX5200 AGP and PCI variants have no differences, the Radeon probably only wins due to the underclock i have applied on the FX cards. With a normal sound card, and without downclock, 30 fps or more could be expected from this game.
TOCA Race Driver 3
This was a very popular race car game. I dont see, why. I dont think its bad, but nothing special. At least its well-optimized, and runs very well on this computer.
The AGP version of the FX5200 card outperforms the PCI variant by 20 percent. Despite being underclocked, they can succesfully compete against the Radeon 9250. If the integrated sound card would been disabled, the results would also became better, making the game fluid on all of these cards.
Warcraft 3
When they have introduced this game, Warcraft fans were jumping on it quickly. It was a big disappointment. Animated menus with burning orcs, light effects, high resolution textures. This is what they thought gamers need. This wasn't they needed. The game almost forced the studio to bankrupt. Luckily, they still had Starcraft, and they started to work on World of Warcraft, which became a cult-game later on. Lets see the performance.
The abnormally slow performance is similar to the performance on my Pentium1. After a few minutes of play, it crashed on the Radeon 9250 for some reason. I have re-tested the game without the integrated sound chip, and this is the result i got:
Well, okay. At least there is no difference between the PCI and AGP variation of the FX5200 cards.
Unreal Tournament 2003
This is a well-known shooter game, which is only being popular due to its predecessors. Crappy engine and bad gameplay, boring levels, no wonder they have discontinued this game. In 2003 people started to dislike these glorified WASD techdemos.
Ooof. The performance is super bad. A strange thing is going on: the FX5200 outperforms the AGP card a little. This performance is too low, even older cards can achieve better framerates. After disabling the notoriously slow integrated sound card, the following results can be get:
27 fps. On every card. Yep. I am not sure, if the integrated sound card is this bad, or the developers of this engine was incompetent, but probably both in the same time. When you plan to release the worlds next big graphics engine, but your coding skills are worse than a first grader college student, probably you should stop coding - and luckily thats what these guys did shortly after they have released this "game".
Tony Hawk's Underground 2
This is a super good game, i remember playing it every time i was bored. Its better than THPS2 in every aspects: you can create your own skater with the help of a very broad skin-system, a lot of levels and possible combos offer you months of entertainment. It gives you the feeling of almost a free-world game, its far better than everything else within this type of games.
However, the performance is terrible. They have optimized this game to Pentium4/AthlonXP systems, and the performance is not good on a P3. Even if the integrated sound card is disabled, the game barely gets better, only 2-3 extra fps is being gathered. The game is not GPU demanding, but the AGP variant outperforms the PCI variant by 15% anyway.
Which you cant see from numbers
The GeForce FX5200 PCI had serious driver problems with newer drivers. Originally, i tried it with 56.72, and only half of the games even started - the rest caused the computer to BSOD, or the game just hanged. This driver worked fine with the AGP version. I touhght the card is bad. With other drivers of the 50.x series, i had freezes after exiting games. With newer drivers i was getting like 1 fps. Finally, i settled down with the driver 42.86 which ran perfectly for hours. The card luckily had no issue, as the very old driver worked without producing any bugs or slowdowns, it ran perfectly without any errors. nVidia just forgot about the existence of their PCI cards, and released useless drivers for it, so the oldest driver has to be used to keep the card stable.
Other problems
When i was running the computer with the FX5200 AGP and Radeon 9250, i was able to overclock my FSB (front side bus) to 103 MHz, getting 720 MHz CPU clock speed - or even up to 780 MHz, when disabling hard disk DMA (as the south bridge was not able to tolarete the overclocked FSB). However, when i have used the FX5200 PCI card, even the smallest overclock of the FSB resulted instability. Even at 103 MHz FSB (which resulted 34 MHz PCI clock) the card became unstable, crashing just after one or two frames. The FX5200 is unable to tolerate any overclocking of the FSB. This is probably specific to my model, as there are other types of FX5200 PCI cards exist (probably even for the PCI-66 standard) but this will be quite irritating if you select an FSB speed which overclocks the PCI clock as well, limiting your CPU overclocking abilities.
The performance of the FX5200 PCI
The FX5200 PCI is quite a good card, comparable to the AGP variant. There are three groups of games:
1. There is no difference in the speed of the AGP and the PCI variant. This is the case in 25% of the games.
2. The PCI card is about 20% slower than the AGP card. This is the case in 50% of the games.
3. The PCI card is about 40% slower than the AGP card. This is the case in 25% of the games.
The PCI card is also hindered with some driver problems, and it refuses to work when the FSB is overclocked without a proper divisor.
The final verdict
Aggressively forcing people to use AGP made no sense in the 90s, and it even made tiny sense in the early 2000s. Manufacturers should have made more cheap PCI cards for the low-end market in the early 2000s, as there is barely any difference between the performance of the PCI and AGP variants. When used in low-end machines, even low-end DirectX9 accelerators are not fast enough to profit too much from the fast AGP bus. AGP makes basically no difference for pre-2000 3D cards, and when the extra performance from AGP really started to matter, the new PCI-E standard have arrived, and simply replaced AGP.
The situation is a little bit similar to other technologies, like for example, the USB: you may have USB 3.0 with multiple 100 MByte bandwidth, but if your $10 chinese pendrive can only copy files with about 30 MByte/sec, it probably doesn't matters for you that much. You can put your super modern pendrive to a super old Pentium 1, and it will still work. You can also put your ancient USB webcamera to a modern computer, and it works. Video card manufacturers with AGP, however, aggressively replaced the PCI cards with the new AGP standard, and as its a different slot, its not backwards compatible. When AGP 8x arrived, they have even introduced a new voltage standard, and those cards broke the compatibility even with the earlyer AGP slots. AGP is a perfect example of a failed standard - do not fix which isn't broken, especially not with something even more broken.
AGP would have been completely unnecessary, had we abandoned the fixed-function pipeline (glBegin, glEnd, upload every single vertex on every single frame) and embraced vertex buffers & shaders (upload your mesh only once, issue one draw command) earlier instead.