I'm confused, what are the pixel and texel fill rates again?

Fox5

Veteran
Xbox I believe is 4x2, so is that 4 pixels with 2 texels each, or 2 pixels with 4 texels each? In that case is it...
932 megapixel fill rate and 1864 mtexel fill rate or...
466 mpixel fill rate and 1864 mtexel fill rate.(though with the memory limitations of the xbox, 466 probably would be closer to actual performance even if it can do 932 mega pixels)

Gamecube is 8x1 so is that
1296 mpixel fill rate and 1296 mtexel fill rate or
162 mpixel fill rate(isn't that like only 62% higher than dreamcast w/o tilebased rendering?) and 1296 mtexel fill rate?

And ps2 seems really wierd, it's like 16 pixel pipelines, but only half of them have texture units? So what's that like....
2400 mpixel fill rate but 1200 mtexel(or maybe 1800?)? And would two texture layers be 600 mtexel, or 1200, or maybe 900?(if it's 900, why?)
 
Re: I'm confused, what are the pixel and texel fill rates ag

Fox5 said:
Xbox I believe is 4x2, so is that 4 pixels with 2 texels each, or 2 pixels with 4 texels each? In that case is it...
932 megapixel fill rate and 1864 mtexel fill rate or...
466 mpixel fill rate and 1864 mtexel fill rate.(though with the memory limitations of the xbox, 466 probably would be closer to actual performance even if it can do 932 mega pixels)

Gamecube is 8x1 so is that
1296 mpixel fill rate and 1296 mtexel fill rate or
162 mpixel fill rate(isn't that like only 62% higher than dreamcast w/o tilebased rendering?) and 1296 mtexel fill rate?

And ps2 seems really wierd, it's like 16 pixel pipelines, but only half of them have texture units? So what's that like....
2400 mpixel fill rate but 1200 mtexel(or maybe 1800?)? And would two texture layers be 600 mtexel, or 1200, or maybe 900?(if it's 900, why?)

Your confusing a bunch of bits and pieces, assuming your presumed clockrates.
Xbox is a 4x2 design, i.e. it renders four pixels with upto 2 texture reads/pixel, so it's 932 Megapixels and 1832 MegaTexels.

Game cube is a 4x1 design, (it can do upto 8 textures in a single pass but at 1/8 of the speed), so it's 648 megapixels, 648 megatexels.

Ps2 is either 16 pixels per clock untextured 2400 mpixels, 1200 megapixels with bilinear texturing, and 1200 megatexels (bilinear).

None of these numbers are comparable each has different memory configurations and each will require resubmission of geometry at different numbers of textures.

Game cube is much more likely to reach it's peak rate than say Xbox.
In real games fillrate will be constrained by texture fetch limitations or pixel shader complexity. Xbox and GC have early Z paths that can prevent rerendering comlex pixels........

In the real world an Xbox game is more likely to be fill limited, than a PS2 game. Some of this is because of the PS2's embedded memory and some of it because the PS2 will hit other bottlenecks long before Xbox.
 
Their is alot of debate over whether the saying "NxN pipelines" is meaningful in any way. Just think of things like this:

In some cases which don't involve texturing PS2 can draw 16 pixels per clock. With 1 texture layer PS2 draws 8 pixels per clock, with 2 textures 4 pixels per clock, etc. Their is no multi-texturing, so you have to re-send all the geometry for each texture layer, which also means doing T&L over for each pass. With no textures (for example, when doing blending for motion-blur) the fillrate is 2400 megapixels/s and 0 megatexels/s. With 1 texture the fillrate is 1200 megapixels/s and 1200 megatexels/s. With 2 textures the fillrate is 600 megapixels/s and 1200 megatexels/s.

With either 1 or 2 textures X-Box draws 4 pixels per clock, with 3-4 textures 2 pixels per clock, etc. With 1-2 textures the fillrate is 932 megapixels/s and 1864 megatexels/s. With 3-4 textures the fillrate is 466 megapixels/s and 1864 megatexels/s.

With 1 texture Gamecube draws 4 pixels per clock, with 2 textures 2 pixels per clock, etc. With 1 texture the fillrate is 648 megapixels/s and 648 megatexels/s. With 2 textures the fillrate is 324 megapixels/s and 648 megatexels/s.
 
No, you do *not* have to do all the T&L for every pass on a PS2. You have a number of options for doing multipass effects:
  • Do a second pass, copying the first pass data and changing a few values.
    Pad out the first pass data, and fill in the gaps in a second pass - meaning you effectively kick the same data twice using different setup.
    Composite your multipass effects to a texture (less flexible, in some cases impossible, but it's also potentially faster and has less issues with alpha-blending)
You can quite happily have a setup where you're only calculating each peice of information once.
 
Xbox's NV2A is a 4x2 (4 pixel pipelines, 2 texture units per pipeline)
yes at 233 Mhz it gets 932 M pixels/sec and 1864 texels/sec



Gamecube's Flipper GPU is strange. it is the *equivalent* of a 4x1 and it does have 4 pixel pipelines, but it only has ONE texture unit in total. - not 1 per pipe. the 1 texture unit is called the TEV or Texture EnVironment. it pumps out 1 texture for *each* of the 4 pipes, per clock. that is why Flipper is basicly a 4x1.


PS2's GS is either 150 Mhz or 147 Mhz - but all of it's pixel/texel rates are based on 150 Mhz - GS is kind of a 16x0 or 8x1 - there are 16 pixel pipelines (i think Sony calls them pixel engines but whatever) and no real texture units AFAIK (could be wrong) - when doing texturing, half of the pixel pipes/engines do the texture work. or something like that. whatever the actual function is, PS2's GS can pump out 2400 M pixels/sec with NO textures. when you do 1 texture, the fillrate gets cut in half to 1200 M pixels/sec - 2 textures and fillrate is cut in half again to 600 M pixels/sec -
 
MrWibble said:
No, you do *not* have to do all the T&L for every pass on a PS2. You have a number of options for doing multipass effects:

That's true, but all those options involve re-sending the geometry, or sending it once with duplicate data.
 
nobie said:
MrWibble said:
No, you do *not* have to do all the T&L for every pass on a PS2. You have a number of options for doing multipass effects:

That's true, but all those options involve re-sending the geometry, or sending it once with duplicate data.

not sure what you mean by 'sending it once with duplicate data', but re 'resending' -- multiple tri-setup-ing the data may or may not impose a performance hit, i.e. you shouldn't unconditionally count it as a performance penalty. i'm sure the ps2 dev gentry would have their say on this matter.
 
darkblu said:
nobie said:
MrWibble said:
No, you do *not* have to do all the T&L for every pass on a PS2. You have a number of options for doing multipass effects:

That's true, but all those options involve re-sending the geometry, or sending it once with duplicate data.

not sure what you mean by 'sending it once with duplicate data', but re 'resending' -- multiple tri-setup-ing the data may or may not impose a performance hit, i.e. you shouldn't unconditionally count it as a performance penalty. i'm sure the ps2 dev gentry would have their say on this matter.


The important thing here is that long before geometry becomes the bottleneck, PS2 incurs other bottlenecks. Therefore one could say that re-sending geometry is relatively cheap for VU1-GS... Just to put things into scale...
 
london-boy said:
The important thing here is that long before geometry becomes the bottleneck, PS2 incurs other bottlenecks. Therefore one could say that re-sending geometry is relatively cheap for VU1-GS... Just to put things into scale...

alright, but nevertheless the re-transforming is superfluous, and actually not required on the ps2, i.e. the respective VU could actually be doing something else during that time. my whole point was that, from there on, its not evident that re-setupping of the geometry incurs a penalty.
 
MrWibble said:
No, you do *not* have to do all the T&L for every pass on a PS2.

What a strange reply... :)

Original poster:
To boil an egg, you first go to the store and buy an egg... (etc)

You:
No, you do *not* have to rob the store to boil an egg. You could hatch another egg and raise the chick to lay eggs of your own to boil, or... (etc)


Ie: you're not replying to what he actually wrote. :)
 
Guden Oden said:
MrWibble said:
No, you do *not* have to do all the T&L for every pass on a PS2.

What a strange reply... :)

Original poster:
To boil an egg, you first go to the store and buy an egg... (etc)

You:
No, you do *not* have to rob the store to boil an egg. You could hatch another egg and raise the chick to lay eggs of your own to boil, or... (etc)


Ie: you're not replying to what he actually wrote. :)
yes he is:
nobie said:
Their is no multi-texturing, so you have to re-send all the geometry for each texture layer, which also means doing T&L over for each pass.
 
Panajev2001a said:
Well, you waste GIF-to-GS bandwidth which could be used for more Texture streaming. :)

doh, yeah - just imagine the waste - you could stream, erm, maybe a whole 64x64 clut4 texture during that time! :)
 
darkblu said:
Panajev2001a said:
Well, you waste GIF-to-GS bandwidth which could be used for more Texture streaming. :)

doh, yeah - just imagine the waste - you could stream, erm, maybe a whole 64x64 clut4 texture during that time! :)

Well, if you start doing three layers of textures ( three submissions of geometry data ) things add up.

It is with the cents that you make the million. :)
 
Megadrive1988 said:
PS2's GS is either 150 Mhz or 147 Mhz - but all of it's pixel/texel rates are based on 150 Mhz - GS is kind of a 16x0 or 8x1 - there are 16 pixel pipelines (i think Sony calls them pixel engines but whatever) and no real texture units AFAIK (could be wrong) - when doing texturing, half of the pixel pipes/engines do the texture work. or something like that. whatever the actual function is, PS2's GS can pump out 2400 M pixels/sec with NO textures. when you do 1 texture, the fillrate gets cut in half to 1200 M pixels/sec - 2 textures and fillrate is cut in half again to 600 M pixels/sec -

What is the definition of a real texture unit?
And what makes the GSs implementation differ?
 
Back
Top