Author Topic: Reducing r_speeds  (Read 2788 times)

sk89q

  • Global Moderator
  • Autococker
  • Posts: 1049
Reducing r_speeds
« on: October 19, 2007, 10:48:04 AM »
I'm thinking about writing an article about reducing r_speeds on DP Resource. Would anyone like to list some techniques? :D

ViciouZ

  • Map Committee
  • Autococker
  • Posts: 2227
Re: Reducing r_speeds
« Reply #1 on: October 19, 2007, 01:29:08 PM »
Hint brushes, always final compile, design the map better, no big open spaces, don't make brushes touch if it won't be noticed.

nightryder

  • 68 Carbine
  • Posts: 448
Re: Reducing r_speeds
« Reply #2 on: October 19, 2007, 01:32:13 PM »
explain how to use hint brushes thoroughly, for i do not understand it

sk89q

  • Global Moderator
  • Autococker
  • Posts: 1049
Re: Reducing r_speeds
« Reply #3 on: October 19, 2007, 01:33:11 PM »
Hint brushes: http://www.gamedesign.net/node/266

I plan to make an article myself on it for the heck of it. :D

FourthX

  • Developer
  • 68 Carbine
  • Posts: 260
Re: Reducing r_speeds
« Reply #4 on: October 19, 2007, 02:01:53 PM »
- 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

sk89q

  • Global Moderator
  • Autococker
  • Posts: 1049
Re: Reducing r_speeds
« Reply #5 on: October 19, 2007, 05:57:43 PM »
- 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?

Eiii

  • Autococker
  • Posts: 4595
Re: Reducing r_speeds
« Reply #6 on: October 19, 2007, 06:03:17 PM »
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.

KnacK

  • Global Moderator
  • Autococker
  • Posts: 3039
Re: Reducing r_speeds
« Reply #7 on: October 19, 2007, 06:04:50 PM »
sk

make sure you post plenty of graphical examples.  PITA but it will help.

sk89q

  • Global Moderator
  • Autococker
  • Posts: 1049
Re: Reducing r_speeds
« Reply #8 on: October 19, 2007, 09:31:51 PM »
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!

FourthX

  • Developer
  • 68 Carbine
  • Posts: 260
Re: Reducing r_speeds
« Reply #9 on: October 22, 2007, 08:09:54 AM »
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

James

  • 68 Carbine
  • Posts: 336
Re: Reducing r_speeds
« Reply #10 on: October 22, 2007, 07:36:51 PM »
Example.

No func_wall



With func_wall



Eiii

  • Autococker
  • Posts: 4595
Re: Reducing r_speeds
« Reply #11 on: October 22, 2007, 07:39:41 PM »
Note that func_walls don't cast shadows, so they're best to put in shadows and such.

QueeNiE

  • 68 Carbine
  • Posts: 435
Re: Reducing r_speeds
« Reply #12 on: October 22, 2007, 07:52:57 PM »
Moving it 1 unit off the ground works too. Although it can make it look incredibly ugly/fake depending on the shadows.

jitspoe

  • Administrator
  • Autococker
  • Posts: 18802
Re: Reducing r_speeds
« Reply #13 on: October 24, 2007, 04:13:20 PM »
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).

y00tz

  • Autococker
  • Posts: 2742
Re: Reducing r_speeds
« Reply #14 on: October 25, 2007, 12:22:19 AM »
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
« Last Edit: October 26, 2007, 12:00:40 AM by y00tz »

XtremeBain

  • Developer
  • Autococker
  • Posts: 1470
Re: Reducing r_speeds
« Reply #15 on: October 25, 2007, 08:25:38 AM »
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.