Optimization/Level Design: Difference between revisions
Jump to navigation
Jump to search
Note:Most performance-related commands require
Brandished (talk | contribs) m (removing abstract mapping header) |
TomEdwards (talk | contribs) (otherlang2 + an intro) |
||
Line 1: | Line 1: | ||
{{otherlang2 | |||
| de = Optimization (level design):de | |||
| fr = Optimization (level design):fr | |||
}} | |||
It's easy to create a map that older (or even newer!) computers will struggle to draw at sixty frames per second. This article is the hub for all information on how to to prevent that by '''optimizing your map'''. | |||
== Areas == | == Areas == | ||
Line 4: | Line 11: | ||
:There's no excuse! Leaks will invalidate almost all of your efforts elsewhere. | :There's no excuse! Leaks will invalidate almost all of your efforts elsewhere. | ||
;[[Visibility optimization|Visibility]] | ;[[Visibility optimization|Visibility]] | ||
:Reducing the number of surfaces and objects that are drawn in the first place. | :Reducing the number of surfaces and objects that are drawn in the first place. The single most important area. | ||
;[[Physics optimization|Physics]] | ;[[Physics optimization|Physics]] | ||
:Various tricks to avoid overloading the CPU with physics calculations. | :Various tricks to avoid overloading the CPU with physics calculations. | ||
Line 12: | Line 19: | ||
:Performance and file-size optimisation. | :Performance and file-size optimisation. | ||
== Commands == | |||
There are many more useful console commands than the ones listed here — find them in their relevant articles. | |||
{{note|Most performance-related commands require <code>[[sv_cheats]]</code>.}} | |||
;<code>cl_showfps</code> | ;<code>cl_showfps</code> | ||
Line 25: | Line 31: | ||
:It's invoked with <code>+showbudget</code> and <code>-showbudget</code>, which means that you can bind the former to a key (i.e. <code>bind <key> +showbudget</code>) and it will only appear when you hold that button down. | :It's invoked with <code>+showbudget</code> and <code>-showbudget</code>, which means that you can bind the former to a key (i.e. <code>bind <key> +showbudget</code>) and it will only appear when you hold that button down. | ||
;<code>mat_wireframe</code> | ;<code>mat_wireframe</code> | ||
:A console variable that lets you see through walls. This way, you can see exactly what is being drawn - for reasons described in | :A console variable that lets you see through walls. This way, you can see exactly what is being drawn - for reasons described in [[visibility optimization]], often more than you might think is sensible. | ||
:There are three wireframe modes, <code>1</code> through to <code>3</code>, which display the information you need with progressively fewer lines. | :There are three wireframe modes, <code>1</code> through to <code>3</code>, which display the information you need with progressively fewer lines. | ||
[[Category:Level Design]] | [[Category:Level Design]] |
Revision as of 02:44, 21 September 2009
It's easy to create a map that older (or even newer!) computers will struggle to draw at sixty frames per second. This article is the hub for all information on how to to prevent that by optimizing your map.
Areas
- Leaks
- There's no excuse! Leaks will invalidate almost all of your efforts elsewhere.
- Visibility
- Reducing the number of surfaces and objects that are drawn in the first place. The single most important area.
- Physics
- Various tricks to avoid overloading the CPU with physics calculations.
- Materials
- Correct material choices will allow your map to scale down its demands on slower computers.
- Lighting
- Performance and file-size optimisation.
Commands
There are many more useful console commands than the ones listed here — find them in their relevant articles.

sv_cheats
.cl_showfps
- A simple output of framerate.
1
is real-time,2
is averaged over the past second. showbudget
- A panel which displays how your computer is spending its budget for each frame. It's the premier tool for working out exactly what's sucking up performance in your map.
- It's invoked with
+showbudget
and-showbudget
, which means that you can bind the former to a key (i.e.bind <key> +showbudget
) and it will only appear when you hold that button down. mat_wireframe
- A console variable that lets you see through walls. This way, you can see exactly what is being drawn - for reasons described in visibility optimization, often more than you might think is sensible.
- There are three wireframe modes,
1
through to3
, which display the information you need with progressively fewer lines.