Once again the term Mtexel has come to haunt us as people have abused the word and started comparing single textured fill-rate vs. multi-textured fill-rates. The fill rate of the Viper II is 250 Mpixels/s while having the ability to actually apply four textures per texture in a single pass. Let's reflect on a few terms before we get deeper into this discussion.
Fill-rate - the rate at which pixels are drawn to video memory.
Pixel - short for "picture element", a pixel is a single point graphic image. Monitors display pictures by segmenting the screen into hundreds of thousands (even into the millions) of pixels.
Texel - short for "texture element", similar to a pixel but texels are actually textured pixels on 3D surface.
Now the confusion doesn't end here either, you can also apply multiple textures in a single pass (through hardware) or multiple passes (through software). You can even have different filtering methods that will eat up more bandwidth but we will save that discussion for another time. The main idea here is that texel fill-rate can be measured with one or more textures applied in various situations. This allows companies to play with the "Mtexels/sec" fill-rate measurement and market their product in its best light.
For example, you may have a card based on the GeForce 256 that can push four single textured pixels in a single pass while a card based on the S2000 can only do two textured pixels in a single pass. It's obvious who is faster in a single textured scenario so how does S3 market the Viper II at 20 Mtexels/sec faster than a GeForce? Easy, they take a multi texture situation and start multiplying numbers. The Viper II graphics core is running at 125MHz, you can dual texture two pixels per pass (or one quad textured pixel in a pass) and up with the following:
125,000,000 (125 MHz core speed) * 4 (one quad textured or two dual textured pixels) = 500Mtexels/sec
If we look at the GeForce 256, we will see:
120,000,000 (120 MHz core speed) * 4 (four single textured pixels or two dual textured pixels) = 480 Mtexels/sec
So why on earth would a GeForce be faster than a Viper II in fill-rate tests or actual applications? Well first off, keep in mind that most games do not use multi-texturing like we'd hope they would. They resort to multi-pass multi-texturing to support legacy hardware (older generations of hardware). This means that in a single textured application the GeForce would perform at its maximum fill-rate performance while the Viper II would work at half its possible MTexel performance being that it's not being used efficiently. Given a dual texture scenario, things would change in theory and the Viper II would actually be faster. Note I said in theory, there are even more factors that come into play such as memory bandwidth, filtering methods and T&L bandwidth.
Next time you pick up a retail box and check for the specified fill-rate, keep in mind the other factors involved that you should note before deciding a card has a superior fill-rate. You just might be surprised.