r_speeds and vid card fill rate


(fraco) #1

hi guys,

I’m trying to understand if there is an easy relation between r_speeds and the video card fill rate figures.

for instance
I have a map that goes up to 15000 tris drawn

If I take some figures for a GF4 4600
Pixel Fillrate 1.24 Gigapixel/s
triangle transform rate 69 M triangles/s

what framerate should i expect given the r_speeds

I tried taking the simple approach:
15000 tris have to be transformed, at a rate of 69 M triangles/s that would give me a framerate of … :banghead: 4600 FPS. Guess that is a wrong interpretation.

Is there any rule that could give some estimate? Any interesting links related to this?

As to the pixel fill rate. Is that the number of shader passes a card can apply to one single pixel? How would i go about estimating the number of pixels that has to be processed?

I hope this question doesn’t make me look uber-stupid.
[EDIT]actually i don’t care if i look uber-stupid :lol:

thnx

fraco


(r3tina) #2

tris is not related to fillrate, at least not directly. You can have low tris in an area and still have poor fps, for instance because you used a lot of complex shaders, which means a lot of overdraw. On the other hand, you can have areas with rspeeds of above 15k and still have good framerates, as long as you use simple texturing and don’t have much overdraw.


(cloudscapes) #3

Fillrate is tough. In a typical lightmapped Q3 scene, everything is rendered twice each frame. More times if there are special shaders and transparent effects. There’s also bot ai and game code to consider, which will bring down your framerate.

More-or-less related:
I did a test once. On my home computer I have a GeForce2 MX400 64MB. Not a super great card, especially since it’s PCI. But it will do untill I get a faster/better mobo. On the official site it says it can calculate 25 million polys per second. These kinds of ‘official specs’ are very misleading to most people. I ran 3d demo that generated some triangles on the fly without coing through the card’s bus (or hardly at all anyways). It managed to get to 18 million polys a second. But these were flat, unlit, untextured polys with no ai or game code. Plus it didn’t go through the main bottleneck that was the mobo and slow bus of 66mhz (yes, I need to upgrade :stuck_out_tongue: ). Obviously no game will be like this, except maybe Stare At The Moving Shapes On The Screen™.


(SCDS_reyalP) #4

The triangle and fill rate numbers quoted by the manufacturers are for ideal conditions, which will never happen in real a real world game. That is especially true for a game engine like q3, which was aimed at something like a 400mhz processor and a TNT level card if I remember right. It does everything but texturing and rasterization on the CPU, so the triangle rate in q3 games is cpu/system memory limited.

The r_speeds won’t correspond to a particular frame rate. There are many factors, including the amount of texture memory used and amount of overdraw in the scene (due to number and size of polygons and complexity of shaders). The gtkradaint manual has some information on performance. This site http://backlot.reactionquake3.com/manual/manual.htm also has some good info (see the Performance Testing section). In both cases, the actual numbers mentioned might be low for a modern system, but the principles are still valid.