Graphics bus bandwidth
Anybody have any ideas on how the Big Boys will handle the ever-increasing demand for bus-bandwidth between the CPU/mem and the graphics card?
I mean the AGP bus is maxed out with just a Geforce card, so right now there wouldn't really be any justification for getting a Geforce2 for heavy work and lots of polys. For games the extra fillrate will do it's job, but low bandwidth is a real problem, and it's getting worse all the time...
agp bus is already too slow,
the only solution is more memory on card
but the new cards are on their bandwidth
limits too, I believe that the new generation of graphic cards will use some sort of memory switching thus twice as much
memory but adressing only half the memery by clck and the other by the next (this can be
done with conventional memory,m is much cheaper than half of the newest ram)
If it's maxed out why isn't there a difference between 4X and 2X in published benchmarks? There is actually very little difference between 1X and 2X at this point so once again what are you basing your conclusions on?
The AGP bus is maxxed out only in one case: if you do AGP texturing. That is, the textures stay in the main memory, and the graphics card retrieves them from there, via AGP. The whole idea behind AGP in the first place, was that you wouldn't need tens of megs of RAM on the video card to do some texturing.
The only problem, however, is that in practice AGP texturing turned out to be slower than a dead snail. A modern video card has a much wider bus internally than your PC has, and likely uses faster memory. This adds up to much higher bandwidth.
To give you an idea of what I'm talking about, the GeForce 2 claims around 5 gigabytes per second memory bandwidth, and the Radeon claims up to 8 gigs per second. While your PC with PC133 SDRAM has only 1 gigabyte per second bandwidth. Even with Rambus, that'd be only 1.6 gigabytes per second peak bandwidth. (But because Rambus has much higher latency, it means less _effective_ bandwidth, so that still wouldn't help AGP texturing.)
Plus, if you do AGP texturing, you share that puny little bandwidth with the CPU. I.e., don't plan on getting more than half of it.
Hence, you can pretty much forget about AGP texturing, and just use the AGP as a faster PCI slot. That's what all modern video cards do. You transfer the textures to the video card's own (faster) memory, and if the card has enough memory, they stay there. After that you only pass the triangle coordinates through the AGP. Which means there isn't that many data passed around per frame.
So basically, AGP 2x is more than enough for now. AGP 4x does make a difference, but most of the time it's a _marginal_ one. As in: a couple percent difference, or even less. On the other hand, AGP 1x is too low nowadays, and most of the time it does hurt performance noticeably. Mind you, it still doesn't cut performance in half.
What everyone means when we say the GeForce 2 won't have enough bandwidth, we mean bandwidth from its own memory. You know, those 32 or 64 megs of DDR. The GeForce 2 would likely need at least 3-4 times more bus width, or memory speed, to actually deliver the promised 1.6 gigatexel/s. But again, it refers to the video card's own memory, NOT to the AGP bus.
Moraelin -- the proud member of the Idiots' Guild
[This message has been edited by Moraelin (edited 05-02-2000).]
There aren't any bandwidth problems in current games (except for AGP texturing). I'm talking about apps that handle millions of polygons, the geometry data is too much for the AGP bus (hopefully games will also get to that level soon). Also there is the fact that if you "only" have PC133 mem you won't get everything out of AGPx4, but Fast Writes should be able to fix this if they could just make it work in practise.
AGPx2 is far from what is needed nowadays, and even AGPx4 is too little, though this is seldom seen in practise because of the system memory bandwidth bottleneck. Decent Fast Writes max out AGPx4 with ease even on an average home CPU.
And I'm DEFINATELY talking about AGP bandwidth here, not the bandwidth on the card. That's also an important aspect, but for more professional use it has much less weight than bus bandwidth currently.
So any ideas/info there?
Okay, double the width of the bus to 64 bits when Itanium and Sledgehammer are released then increase the speed from 66mhz to 133mhz with 4X and Fast Writes.
At a wild guess, I'd say those apps will be limited by the CPU and main memory at least as much as by the AGP, if not more. Dunno, I guess you can always try getting a DDR capable motherboard and some DDR memory to go with it, when they become available. If nothing else, it would give you enough memory bandwidth to drive the AGP at full speed, if that's really your problem.
Moraelin -- the proud member of the Idiots' Guild
Would the AGP bus width actually double from 32 to 64bit when moving top 64bit CPUs? If it did it would definately be good, though we'd of course need a new card to support it. At least the frequency of the AGP bus isn't going anywhere to my best knowledge (look at every other bus), but you can always do some overclocking supposing your system can take it.
I'm not actaully personally at the limit yet, just choking with AGPx2, but when I get an Athlon MB w/ VC-RAM I'll be pushing AGPx4 at everything it'll give me. That's when I'll really start worrying about the bus data-rate. At least the faster Athlons can easily pump enough polys to the geforce to drown AGPx4 supposing Fast Writes work in the later drivers (I hear they do in 5.16?). If fast writes don't work then the mem might become a bottleneck in some situations.
But when I have this setup then whatever I buy I still won't be able to get more polys/sec, and this is kinda worrying because the setup I described is pretty much standard consumer-level. That's worrying.
Actually, it all really depends on what you want to do at this point. My system (Atlon700/GeForce256) is perfect for 98% of all the 3D modeling I will ever do. My last 3D design project was a machine assembly which when rendered was 75,000 polygons. I had to quadruple that to start slowing the system down, that's ~300,000 polygons. Of course the amount of polygons can vary depending on the tolerance I use for normals and surface deviation. I model with NURBS and Boolean operations not polygons, these are just for rendering in OpenGL. 300,000 seems small but remember this is CAD which does have greater precision than games.
Actually yes it probably will move to 64 bits just like the original PCI bus was at 32 when the first 32 bit processors came out, and ISA was still at 16. And most high end systems have 66mhz PCI buses now so I do expect the AGP bus to increase in speed also to increase bandwidth. As far as memory bandwidth goes expect more DDR and QDR type systems. Then there is always massively parallel SMP systems, which are now used for large simulations and billions of polygons. Expect more dual and quad processor systems and expect them to come down in price also. This all has actually just begun to filter down to the consumer level and we have people like Carmack and Sweeney to thank for this, games take lot's of processing power.
Had the decimal points in the wrong spot, it is actually 300,000 polygons. Had to have the system recount them to make sure.
[This message has been edited by 23skidoo (edited 05-03-2000).]
So where we stand now, since there really isn't a need for AGP texturing, is that the AGP Bus is only being used as a transport for the textures. Like you said, it's just a faster PCI slot. Now as far as 64 Meg cards go, I haven't seen an improvement with the GeForce 64 over the 32 DDR, reason being is that there's really no games which require more than 32 megs....RIGHT NOW. We'll see this increase within the next 6 months to year.
With games like HALOthe cards are going to be pressed to push more polys with what they have. I think the systems are currently going to be fine with them, but yeah, we're running out of room to push more polys.
We're starting to see a trend with cards with more memory, (though these are just multiprocessor with each chip having 32 megs of memory)and this trend seems to be the way the manufacturers are going. I strongly and a T&L advocate, and as we can see with the new GeForce 2 they're trying to add more responsibility to the GPU over the CPU, but again, the memory is bottlenecking, and will be the main problem for the cards.
I'm sure 64-128 Meg cards will be common within 1 year, and we'll have more rendereing responsibility placed upon the videocard.
Hopefully we'll have a card which will take advantage of multiprocessor systems.
Has the PCI bus sped up? I'd rather think it's always been at 33MHz, while AGP has always been at 66MHz...
Though nowadays there ARE 64-bit PCI slots available where the normal slots are 32-bit. Maybe this will happen to the AGP slot too.
The reason I need all the polys I can get is that when doing cartoon-like "jumpy" and alive animation I really need the full 25 fps for PAL or 30 fps for NTSC, preferably 50/60 but that's a bit utopistic right now. I don't want to create a preview animation every time I make a change. The Geforce has helped this a lot, but like I said it's not perfect either cause the bus to it is too limited. It's still "good" though...
The PCI bus clock is 66 MHz.
The AGP Interface Specification can be found at the AGP Forum.
It is actually some interesting reading. Especially section 4.1.2 on Transfer Mode Operation.
Intel made some noise at the last IDC about the 'successor' to AGP that I saw mentioned in passing but I have yet to see anything descriptive on it. Supposedly NVIDIA is involved with the development of this.
Actually the standard for desktop systems is 33mhz, 1/3 the system bus speed for 100mhz systems and 1/2 of 66mhz systems. Only high end workstations are using a 66mhz PCI bus, at least this is what they advertise. Some of the recent PCI cards are 66mhz compliant so this will eventually trickle down to the consumer level. The AGP bus may have actually just been the forerunner of the 66mhz PCI bus, using 1/1 for 66mhz systems and 2/3 for 100mhz systems. Then the 2X and 4X were added capabilities of individual chipsets.
They must have plans to increase the AGP bus width to beyond 64bits to 128 or even 256. The video card memory bus went from 64 to 256 in three years so it would be only logical to increase the AGP and PCI bus widths. However there has to be a processor to provide the data to fill it, and an operating system to control it. Dual Thunderbirds and Willamettes may have what it takes but I doubt it. I think only Itanium or Sledgehammer could keep a massive bus like this filled with data. Just my $2 (damn inflation sucks).
The AGP Interface Spec. v2.0 in section 1.2 on page 20 states : "the AGP interface specification uses the 66 MHz PCI specification as an operational baseline, ..."
I would interpret that to mean that if a motherboard has an AGP slot, its PCI bus is of the 66 MHz variety.
It seems to me a logical extension to go to 128 bits wide since current SDRAM interfaces are this width. This would provide a maximum of 4GB/sec throughput [ 66MHz clock * 4 (AGP 4X clock doubling and DDR) * 16 bytes wide ]. This would mean probably more than 100 pins on the connector though so I have my doubts.
Anyways, the aforementioned sequel to AGPx4 is codenamed "Beyond4x" or "BeyondAGPx4" and there's a whole lot of people developing it. It's just too late IMHO.