Ask the Guru: R_SPEEDS, R_DRAWORDER, R_DRAWFLAT; level complexity versus fps |
Framerate is considered to be God by professional level designers. What console commands are used to test the framerate; more importantly, how should this information be interpreted? (e.g. the numbers in R_SPEEDS.) What is the guiding standard you employ? - Steve Fukuda |
Levelord's Response: |
...framerate is NOT a god, it is the devil itself ;) I'd have to say that this is THE concern of mine. Conceiving a cool theme and cool geometry are probably more "important", but they come to me easily and aren't, therefore, a concern of mine. I use 3 console commands to control framerate: R_SPEEDS, R_DRAWORDER, and R_DRAWFLAT. R_DRAWFLAT will display all brush surfaces as untextured and solid-colored. This can be very helpful in witnessing exactly how BSP cut-up your original brushes, especially when you make irregular, non-rectilinear shapes. Often I will find that BSP has cut-up a cool looking door into hundreds of small, subordinant polygons. This door will be a huge tug on the framerate and I'll usually get rid of it. R_DRAWORDER is another great tool for controlling framerate. It will display the current view in reverse order; that is, instead of blocking rooms and such that are occluded by obsticles in the foreground, it will display them. These occluded rooms and views, although not "seen", are being included in the overall view's calculations and are an otherwise unseen destroyer of good framerate. The most useful tool for controlling framerate is R_SPEEDS. This command will display a list of numbers that bear directly on the current view's framerate. These numbers are, from left to right: (1) game cycle time (how long each game cycle is taking in milliseconds), (2) total polygon surfaces in current view, (3) total polygon surfaces actually drawn in current view, (4) total visible (but not drawn) polygon surfaces, and (5) total number of polygon surfaces affected by dynamic lighting. Game cycle time is obviously the most direct measure of framerate performance. However, since computer platforms are so varied, it is best to pay more attention to the polygon-related numbers. Keeping the polygon-related numbers down will insure, no matter what type of machine your level is being played on, it's performance will be optimal. The next 3 numbers are self explainatory. Make sure you keep a good watch on the fifth number - surfaces affected by dynamic lighting - each time a surface is relit, it has to be recalculated. - Levelord |
The Forge: The Official Worldcraft Editing Site - ©1997 |