Digital Paint Discussion Board
Development => Mapping => Topic started by: sk89q on October 19, 2007, 12:48:04 PM
-
I'm thinking about writing an article about reducing r_speeds on DP Resource. Would anyone like to list some techniques? :D
-
Hint brushes, always final compile, design the map better, no big open spaces, don't make brushes touch if it won't be noticed.
-
explain how to use hint brushes thoroughly, for i do not understand it
-
Hint brushes: http://www.gamedesign.net/node/266
I plan to make an article myself on it for the heck of it. :D
-
- details into funcwalls (many brushes can make 1 funcwall, they dont even have to be near each other) (splatmesa)
- details lifted 1 unit (all my maps, but ub_rooftop especially)
- make the unseen face of the 1 unit things "nodraw" (this can save 7-12 poly on 1 barrel) (splatmesa, ranger)
- mitered corners (all my maps)
- make sure edges meet instead of being just near, like when you have a barrel by an outside corner, make sure the edge of the barrel is in the same place as the edge of the corner (haven't used this one much)
- scaling textures down increases poly
- scaling textures up can decrease them on large surfaces (encounter)
- use custom textures instead of multiple brushes to make detail, like color striped walls or railings (have used but you haven't seen the map yet)
- proper vis methods like donut halls (this can be avoided if the map is built around vissing)
- less sides to objects, if an object can be shown as 3 sides why make it 4? etc... (not sure)
- hint brushes - these can make a huge difference, if it wasn't for hint brushes splatmesa would have r_speeds like 2-300 higher then it does)
If I think of more I'll add em. If you need help understanding one particular aspect ask away.
FtX
-
- details into funcwalls (many brushes can make 1 funcwall, they dont even have to be near each other) (splatmesa)
- details lifted 1 unit (all my maps, but ub_rooftop especially)
- make the unseen face of the 1 unit things "nodraw" (this can save 7-12 poly on 1 barrel) (splatmesa, ranger)
- mitered corners (all my maps)
- make sure edges meet instead of being just near, like when you have a barrel by an outside corner, make sure the edge of the barrel is in the same place as the edge of the corner (haven't used this one much)
- scaling textures down increases poly
- scaling textures up can decrease them on large surfaces (encounter)
- use custom textures instead of multiple brushes to make detail, like color striped walls or railings (have used but you haven't seen the map yet)
- proper vis methods like donut halls (this can be avoided if the map is built around vissing)
- less sides to objects, if an object can be shown as 3 sides why make it 4? etc... (not sure)
- hint brushes - these can make a huge difference, if it wasn't for hint brushes splatmesa would have r_speeds like 2-300 higher then it does)
If I think of more I'll add em. If you need help understanding one particular aspect ask away.
FtX
1. Why make funcwalls?
2. Donut halls?
-
Crappy sketch 1 is a hallway that connects two areas. Note how area A is able to see into area B. So, more polys.
Crappy sketch 2 is a donut hallway between two areas. Note how area A cannot, in any way, see into area B. Less polys, more FPS.
-
sk
make sure you post plenty of graphical examples. PITA but it will help.
-
Crappy sketch 1 is a hallway that connects two areas. Note how area A is able to see into area B. So, more polys.
Whoa, that crappy sketch didn't help. :| (for #1)
sk
make sure you post plenty of graphical examples. PITA but it will help.
Yeah. That's what I like to do anyway.
Look how many darn images (even animated GIFs!) I made for this map making introduction: http://digitalpaint.therisenrealm.com/mapmaking/tutorial/basics
I never finished it though. The perfectionist in me felt that the tutorial, as it was going, had no visible structure or organization to it. Oh well. If anyone wants to finish it though, drop me a line!
-
1. Why make funcwalls?
2. Donut halls?
a func_wall or other brush model is not part of the main hull of the map so it doesn't cause splits where it intersects it. Check the rocks in ranger with showtris and you'll see that they don't make any extra splits in the brushes around them.
FtX
-
Example.
No func_wall
(http://i12.photobucket.com/albums/a242/zillomaniac/sshot080.jpg)
With func_wall
(http://i12.photobucket.com/albums/a242/zillomaniac/sshot081.jpg)
-
Note that func_walls don't cast shadows, so they're best to put in shadows and such.
-
Moving it 1 unit off the ground works too. Although it can make it look incredibly ugly/fake depending on the shadows.
-
I hate the 1 unit thing most of the time, to be honest. Yes, it can help, but you have to be really careful when and where you use it. Some people over use it and end up making things worse (not to mention look bad). It also makes the map files really messy. There are two key things that impact rendering speed: polygon count (r_speeds) and fill area. If you hover a large box over the ground or make it a func_wall to reduce polygon breakage, you're introducing something called overdraw. The game draws the ground, then draws the box on top of it, so it has to fill those pixels in twice. The BSP structure is designed to minimize overdraw (which is what slows a lot of low-end cards down), so it will split the ground up around the box in order to avoid drawing the same area twice.
The one unit gap thing can be useful for small details, though. I used it on the lights in the tunnels on midnight2, for example. The way they're positioned, it's impossible to tell there's a gap, and since they're small, overdraw is pretty negligible.
Back to some things to reduce r_speeds: use water sparingly, if at all. Avoid water at different levels, and never put it at angles or vertically. Even when water is not reflective, it has to be subdivided a bunch in order to create the swirly effect (previously this wasn't accounted for in the r_speeds, but I made the new version count these polygons). Transparent water also increases overdraw a lot, since the area under the water has to be drawn, then the water on top of it, so it slows things down in two ways (plus all the reflections).
-
I noticed that in James' screenshot he is getting 170 less FPS with the func_wall, why the FPS hit if that's supposed to help?
*Edited for y00tzism
-
I noticed that in James' screenshot he is getting 70 less FPS with the func_wall, why the FPS hit if that's supposed to help?
His position isn't identical so he may have entered a different vis area, or perhaps the vis areas changed when it was recompiled. Or maybe mp3 player just switched tracks, who knows. Beta tested that map last night, looking good so far.