Basic question re fillrate

horvendile

Regular
I've discovered that I, being a layman, don't understand some basic concepts.

Premises: In a traditional 4x2 design, single texture pixel fillrate is about equal to dual texture pixel fillrate. When going to three textures, pixel fillrate drops by approximately 50% due to the extra, er, not pass, thingy (loopback?), needed. From there, there is no significant performance drop when going to four textures. And so forth. All this because of the second TMU, that sometimes is used, sometimes not.
Correct?

What I don't understand is why the performance does not drop more going from one to two textures (or three to four). Don't we still have to read the second texture from memory? Isn't memory bandwidth a limitation? (For the sake of clarity, let's limit ourselves to "yesterday" cards.)

Admittedly, I don't know which memory operations are required for rendering a pixel. But could it be that there is so much "fixed" bandwidth need (z-buffer, write to framebuffer and whatnot) that an extra texture read doesn't do that much of a difference? Some of the numbers in the 4x2 or 8x1 thread seem to indicate this, with small but noticeable performance decreases for, say, the Ti4600 where there should be none (?) from a pure TMU standpoint. Without pen and paper and just from my memory, I also think that fits quite well with how the 9700 and 9500 Pro behave.

But, I'm just guessing. Anybody care to set me right?
 
That depends on what limits your performance. For many fillrate tests, they use small textures to reduce texture bandwidth requirement. Therefore, you see small drop from using one texture to two textures or three textures to four textures on a two TMUs per pixel pipeline architecture.
 
Multitexture is where compressed textures really start to shine - not least because the more combinatorial operations you apply on your textures, the less likely you are to see artifacts (in the same way bilinear and -better - trilinear filtering get rid of most of the DXTC artifacts).

Once you're using compressed textures texture bandwidth is (usually) pretty insignificant. Of course, 2-texture compressed will still have a marginally slower pixel rate than 1-texture compressed if you're an x2 architecture.
 
OK, thanks.
I might need to update myself somewhat. In my world, bandwidth, especially texture bandwidth, was still more important than, uh, almost everything. (Regarding gaming 3D graphics, that is.)
 
Back
Top