This is the most commonly used measurement for performance testing your map. It's very easy to implement because the
/r_speeds command is toggleable. Bind a key to "toggle
/r_speeds" and you can turn it off or on to your heart's content (see the mapping.cfg on the
Developer Testing page for an example). What does it do? It measures the number of triangles (also generically referred to as polygons, but we all know there is a difference) being drawn by the engine. One of the nice things about this command is that it is real-time and scrolls the information at the top of the screen. That way you get immediate feedback and you can easily identify any problem areas of your map.
You want to use the "tris" numbers above. The number on the left is a count of the triangles drawn. The one on the right is what mappers refer to as "r_speeds," it takes into account shaders in addition to pure triangles.
What's an acceptable number? There is no general consensus. When Q3:A was released, 6k to 8k was a commonly quoted number. Now that number has increased to 10k (because of more powerful video cards) and even as high as 12k. Even still, some mappers are going higher and map whatever they want (even if r_speeds are over 20-30k) and let people decide whether to play it or not. For Reaction Quake 3 purposes, we would like to see a maximum of 10k in polycounts because of the fast-paced nature of the mod. Also, you may want to test r_speeds with your video cards multi-texturing turned off (to simulate cards that don't support multi-texturing, which is somewhat of a rarity today).
When to test? Test as your map gets more complex and you think it may become an issue. Also, keep in mind that weapons, items and ammo will affect the r_speeds of your map. So it is good to test after you have added all of those entities. Player models also impact r_speeds and are one of the reasons to keep them low because in large firefights, r_speeds can skyrocket, creating an impression of "lag." So test in first person view with no one else or bots on the map. Also, if you know or expect some areas of your maps will have large firefights, try to keep polycounts lower in those areas. Again, the goal here is to create maps that are conducive to fast-paced play and keep that in mind when you are designing your map.
How to test:
… Bind a key to "toggle
/r_speeds" either in a .cfg file or in the console (former is recommended).
… (optional) Bind a key to "toggle
/r_ext_multitexture" in a .cfg file or in the console (to turn off multi-texturing). If you use this make sure you do a
/vid_restart to make the command effective.
… Hit your toggle key, run around your map and check those polycounts!
Also, keep in mind that r_speeds number includes shader passes. So if you are trying to reduce r_speeds, look to reducing the complexity of the geometry as well as reducing the number of shaders.