Real World fill-rate

Ok, now we know that Theory and Reality are not the same... but how can we find out the Reality?

Well you measure it ! If you want to know how fast something really is you benchmark it and that is what we will do with fill-rate too. I will explain how you can measure fill-rate, more specifically I will explain how 3D Mark 99 measures a 3D cards fill-rate:



If you used 3D Mark 99 (Max) to benchmark your card the you will recognize the scene above. Its the fill-rate test. So what are the details. Well the fill-rate test uses a very simple geometry : basically it are just 4 planes behind each other. Every plane is constructed out of 2 triangles. The geometry is so extremely simple to make sure that the CPU is not the limit, after all we do not want to measure how fast your CPU can do geometry transformations.

Each of these 4 planes has a texture on it, the plane that is most far away from us is a solid non transparent texture. The 3 planes before it have alpha transparent textures. The transparent textures use additive blending, basically this means that the new pixel color is equal to the sum of the color components of the old value plus the new value. This is called additive-blending. This is also why some parts end up white: 255 (red) - 255 (green) - 255 (blue) is after all the maximum and this is white.

Ok now we know the details about the scene, what about fill-rate. Well the good old idea behind fill-rate is the number of rendered pixels written to the frame buffer per second. Now we know the screen resolution, lets assume it is 800x600. This means that every plane exists of 800x600 or 480.000 pixels. The complete scene has 4 planes so we have a grand total of 4 times 480.000 equals 1.920.000 pixels that have to be written to the frame buffer per scene. Now if we multiply this amount with the frame-rate ( number of frames displayed per second ) measured then you have the Real World fill-rate.

This benchmark takes into account all possible reasons for losing cycles since this is a REAL scene that is being rendered. Now how different is this Real world number from the original Theoretical Peak fill-rate?

I have done several benchmarks myself and these are the results:





Now these numbers prove that the Real World fill-rate is indeed lower than the Theoretical Peak fill-rate.

I will now define fill-rate efficiency to show the difference between the Theoretical number and the Real World numbers.

Note in the table that the clockspeed has an impact on the fill-rate performance: higher clock is higher theoretical results but also higher Real World results. This proves that there is a link between theory and reality.