Optimization/Level Design: Difference between revisions

From Valve Developer Community
Jump to navigation Jump to search
No edit summary
Line 1: Line 1:
{{abstract mapping}}
{{abstract mapping}}
'''Optimization''' is the act of reducing the computer's workload. In level design terms this is almost always related to reducing the amount of rendering that the video card must perform at any one time.


== Areas ==
== Areas ==
Line 8: Line 6:
: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 be drawn in the first place. This is the largest section.
:Reducing the number of surfaces and objects that are drawn in the first place. This is the largest and most important area.
;[[Physics optimization|Physics]]
;[[Physics optimization|Physics]]
:There are various tricks to avoid overloading the CPU with physics calculations.
:Various tricks to avoid overloading the CPU with physics calculations.
;[[Material optimization|Materials]]
;[[Material optimization|Materials]]
:Correct material choices will allow your map to scale down its demands on slower computers.
:Correct material choices will allow your map to scale down its demands on slower computers.
;[[Lighting optimization|Lighting]]
;[[Lighting optimization|Lighting]]
:Real-time and file-size optimisations.
:Performance and file-size optimisation.
 
([http://hl.logout.fr/?p=optimisation En Français?])


== Commands ==
== Commands ==


You will need to enable <code>[[sv_cheats]]</code> before using any optimisation commands.
There are plenty more than those listed below — find them in their relevant articles. Note that <code>[[sv_cheats]]</code> must be enabled for most to work.


;<code>cl_showfps</code>
;<code>cl_showfps</code>
Line 28: Line 28:
:A console variable that lets you see through walls. This way, you can see exactly what is being drawn - for reasons described in the [[Optimization (level design)/Visibility|visibility optimisation article]], often more than you might think is sensible.
:A console variable that lets you see through walls. This way, you can see exactly what is being drawn - for reasons described in the [[Optimization (level design)/Visibility|visibility optimisation article]], 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.
==See also==
* [[Budget]]
* [[Optimizing and Checking Your Map]]
* [[Optimization (Non-Geometry)]]
*:''Geometry optimizations can be complicated, but there are several non-geometry aspects of optimization. Handling them can be an easy way to make your map faster. Keep these in mind when designing a new map, and consult individual sections where [[showbudget]] reports problems.''
==External links==
*[http://forums.steampowered.com/forums/forumdisplay.php?f=191 Official SDK Forums]
*[http://hl.logout.fr/?p=optimisation French Optimization tutorial by NykO18]
*[http://www.student.ru.nl/rvanhoorn/optimization.php?chapter=intro Zombie's Optimization tutorial]


[[Category:Level design]]
[[Category:Level design]]

Revision as of 14:42, 16 September 2008

Template:Abstract mapping

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. This is the largest and 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.

(En Français?)

Commands

There are plenty more than those listed below — find them in their relevant articles. Note that sv_cheats must be enabled for most to work.

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 the visibility optimisation article, often more than you might think is sensible.
There are three wireframe modes, 1 through to 3, which display the information you need with progressively fewer lines.