PDA

View Full Version : Video card bandwidth



Tylor
03-06-2002, 04:08 AM
There's something I've been wondering for a long time, but can't find enough info to figure out. How much of the actual PCI bandwidth do video cards use up sending and receiving the data? Is there any way to actually calculate it?

I'm mainly talking about the PCI bus on a vintage Mac(133MB/s). I know a piece of data will be sent and received faster on a faster bus. And SCSI cards can certainly saturate a PCI bus, in theory, since they simply shovel the data back and forth. But I'm not sure on video cards. Is a game like Unreal Tournament, for example, even able to generate/utilize a full 133MB+ of data every second? Or does only need part of that amount?

[This message has been edited by Tylor (edited 06 March 2002).]

Damien
03-06-2002, 10:29 AM
Good question ....which, of course, means I do not have a good answer

Here is some food for thought though

I do not have 100% proof but it is a common beliefe that the GeForce 3 card will run about the same as a GeForce 2 card when placed in a 2x AGP Mac and yet the GF 3 card will perform nearly twice as fast as a GF2 when in a 4x AGP Mac. This tells me that the GF3 easily saturates the 2x AGP bus This means that the cards are moving enormous amounts of data

Another example: The B&W G3 has a 66mhz 32bit pci slot for it's 32bit video card. Moving the video card (Rage 128) to the slower 33mhz slots in that Mac will cause slower video performance This tells me that the PCI slot is limiting the data transfer.

Take this for what it's worth I hope someone with more knowledge chimes in here in a bit.

spaz2
03-06-2002, 11:22 AM
Tyler...a question for yah... Are you saying that the 33Mhz PCI bus can move 133MB/s through the bus?

Tylor
03-06-2002, 02:55 PM
spaz2: Yes, the 32-bit 33MHz PCI bus is, theoretically, capable of handling that much data at once. There's usually some overhead involved which limits things from actually reaching that level, though. That's how I understand it at least.

I'm not certain how newer games work, but I know how old ones did. Take Super Mario on the old NES. The cartridge only needed abvout 8-16 kilobytes of space for the whole game. The 'image maps' of how each brick, goomba, etc. looked is loaded into memory at the beginning, and has a simple variable assigned. Example: A=a goomba. B=a brick and so on. Each variable is assigned X-Y coordinates on a small grid(maybe 20x20 or so), and sent to the processor to let it create a display image. So all that was needed is to send something like this from cartridge to the processor: B,1,1 and you would see a a brick, with all its wonderful color and detail, displayed in the upper left corner.

I think it's similar for 3D games, the equations and positioning data needed to render the current view is sent to the video card(s) and they do the work of creating an image. A faster bus just means the data moves quicker. If the bus is really saturated with data, then there wouldn't be any benefit of multiple video cards, and some games couldn't get enough data to run properly, so they'd always crash on older systems. I think it works that way, at least. Correct/elaborate on any of this if someone knows more about it.

[This message has been edited by Tylor (edited 06 March 2002).]

Damien
03-06-2002, 03:37 PM
Games only play on one screen so I am unclear about your multiple video cards comment. Unless you want to mirror your display in which case the same data stream feeds both video cards making no more bus bandwidth neccessary. (I think anyway correct me if I am wrong) most ppl I know with 2 displays have very specific uses for each screen Photo shop users mainly use a 2nd screen for pallettes and frequently do not even enable accelleration on that screen. I use my second screen for a DVD watching screen as my main screen is too far away from my "relaxed position" to comfortably see a movie.

Tylor
03-06-2002, 03:51 PM
Dang, as I thought about it, I was gonna edit that bit out and ask later on when things were clearer for me. http://macgurus.com/infopop/emoticons/icon_smile.gif I've only heard some things about using multiple video cards to help accelerate one display, though maybe I've been reading things wrong and it doesn't work like that. If someone can verify it for me, I'd be quite grateful.

The fact that faster cards, when tested on a PCI bus with the same bandwidth as an older card, can generate higher and higher framerates suggests to me the bus isn't actually filled yet, the processor and/or video card are still the limiting factor. Again, if someone with more knowledge about this can clarify how much of that is correct, I would be quite happy. Knowledge is. http://macgurus.com/infopop/emoticons/icon_biggrin.gif

[This message has been edited by Tylor (edited 06 March 2002).]

Damien
03-06-2002, 05:13 PM
Ihave heard of video cards like that in the past but I they were all very old technology by todays standards. I have not heard of any recent ones that do that.

This is really way outside my field but as I haven't been beaten up about any of it yet maybe I am more correct than I thought....or maybe Ricks or Magician will chime in here and severely beat me about the head and shoulders.... http://www.macgurus.com/ubb/eek.gif

Tylor
03-06-2002, 06:20 PM
Thanks Damien. Did some more looking around and I believe you're right about the multiple video cards. I suppose it wouldn't be as needed now, but damn that would make some awesome gaming. If anyone else knows something to the contrary they can chime in, otherwise I'm going to leave it at that.

So the main question now is how much bandwidth do video cards actually take up and is there a way to measure it exactly?

kaye
03-06-2002, 07:30 PM
The one card like that I am familiar with is the Apple QD3D PCI accelerator card. It was esentially a texture mapping accelerator, no video ports, it just took over when there was an operation it could accelerate. You could add more than one of the cards and get even faster operation. The inits to run the card are still in OS9.2.2, Apple QD3D HW Driver and Apple QD3D HW Plug-In, along with the regular QuickDraw 3D stuff. Of course modern video cards leave the old Apple card in the dust.

One of the reasons that a modern video card does so well in a vintage Mac is that so much is off loaded onto the video card and leaves the processor and hard drive out of the equation.

1.Much larger and faster SGRAM or the like memory, 16MB to 64MB. So the video card can store a page or pages without having to store in slower main memory. So faster scrolling, faster switching between pages.

2.Some cards have a font cache, my ProFormance3+ 32MB card and my Voodoo 5500, both store fonts in the card's onboard memory. This makes 2D very much faster. And it keeps the HD from running to get the font.

3.Much faster Graphics Processor, the PF3+ has a 128-bit Permedia 3.

4.Max. Pixel Frequency 300MHz.

5.Optimized hardware/software support for QuickDraw, QuickDraw 3D, QuickTime, Open GL MPEG and Motion Compensation for MPEG2 Dual Texture Unit, Trilinear Filtering, Mip Mapping.

6.Blockfill Rate/Blit Rate, more than 6GB/s/more than 550MB/s.

7.Hardware Pan and Zoom.

So many features on the video card to keep the operations on the card and try to keep the processor, hard drive, and main memory (50MB/s or so) out of the equation as much as possible. Compare that to the TT 8MB or Ult Rez 8MB, any of the four cards in a vintage Mac 132MB/s PCI bus.

At 33MHz, a 32-bit slot supports a maximum data transfer rate of 132MBytes/sec, and a 64-bit slot supports 264MBytes/sec. These are theoretical. And the PCI controller chip may have other limiting factors. Apple gives a figure for the QuickSilver 33MHz, 64-bit PCI bus at about 215MB/s which is conservative. k

kaye
03-06-2002, 08:23 PM
Oh, and there is a utility that might help you determine what is going on:
From the ReadMe:

ThroughPut 1.5
Written by Rene Trost.

ThroughPut tests how much data your Mac can pass through the PCI or AGP port to your graphics card. Results are given in Megabytes per second.

1. CPU Test - Shows how much megabytes (1MB = 1048576 bytes) can be passed through the PCI/AGP port with the CPU in one second.
2. FPU Test - same as above just using the FPU (common way on none G4 Macs).
3. AltiVec Test (G4 only) - same as above just using the AltiVec unit.
4. CopyBits - same as above just using the MacOS function CopyBits. This function is used by many applications/games for drawing and gives you an impression of the 2D speed of your graphics card.

Each test is running 10 seconds. The test procedure can't be interrupted.

ThroughPut V1.5 are compareable with results of earlier versions. Bytes/sec. to MB/sec. convertion is done by dividing bytes/sec. by 1048576 (1MB = 1048576 bytes)

Before you start
- For best results reboot your system before you start ThroughPut. Virtual Memory may affect your results - best if you turn it OFF. Background processes (especially network activity) may also affect ThroughPut results, so don't run any applications before starting ThroughPut.

- ThroughPut requires Apple's DrawSprocket

The results ThroughPut gives don't represent the speed of your CPU/FPU/AltiVec unit or your graphics card - it only shows you how many megabytes per second passed through the PCI/AGP bus to your graphics card using the CPU/FPU/AltiVec Unit or CopyBits function. Currently most available games using the FPU to move data into the graphics card's VRAM.

Visit http://www.coolmedia.de/throughput for more information about ThroughPut.

If you have any questions about ThroughPut then feel free to email me: rene.trost@coolmedia.de

Hope this is what you are looking for. It gives four transfer rates, CPU, FPU, AltiVec and CopyBits for RAM to VRAM results. Pretty sure it is not dual processor aware for those interested. k

Tylor
03-06-2002, 08:39 PM
Thanks kaye. ThroughPut is exactly what I was looking for, so I'll give that a try. It figures that Apple would make a multiple card system.

spaz2
03-07-2002, 12:13 AM
Hello Tyler (again)... Can you point me towards the source of the 32-bit 33mhz PCI bus being able to push data at that rate... I am allways wanting to learn more...please indulge me.

kaye
03-07-2002, 12:02 PM
I can help with that. Adaptec white paper http://www.adaptec.com/worldwide/product/markeditorial.html?prodkey=pci64bit&cat=%2fTechnology%2fSCSI%2f&type=SCSI and scroll to "PCI Bus Speeds, 33 MHz Versus 66 MHz". Their older white paper said 132MB/s, this one says 133MB/s. One other point, the 4x AGP slot in my G4-800DP GF3 running ThroughPut while composing one of my previous posts, Exploder and OE and SimpleText in the background, scored CopyBits, 256 Bit BusMaster, at 368.1MB/s. I still don't know what that slot is, probably not 64-bit 66MHz, more likely 32-bit 66MHz double clocked. k

TZ
03-07-2002, 03:29 PM
When I bought my ViewSonic one of the things that sure seems to help in OS X which pushes a lot of data thru video, is the higher bandwidth of the monitor: 350 mhz.

Any comments?

<BLOCKQUOTE class="ip-ubbcode-quote"><font size="-1">quote:</font><HR>The P225f PerfectFlat monitor from ViewSonic boasts an ultra high flicker-free resolution of 2048 x 1536 and a video input bandwidth of 350MHz to provide great image details and clarity. <HR></BLOCKQUOTE>
Gregory

spaz2
03-07-2002, 04:06 PM
Thanks K

That is what I was looking for...