Jump to content

How to get more FPS from your FPS


Guest Mauler

Recommended Posts

Guest Mauler
How to get more FPS from your FPS

 

First up, some terminology: A W3D file can contain multiple meshes, aggregates, and proxies. When I say mesh, I'm referring to a mesh object inside of a W3D file and not the file itself. Skinned meshes are meshes that have a WWSkin modifier applied. A draw call (or batch) is a unit of measurement which we’ll be using in this tutorial.  On most hardware, the Renegade engine is limited by overall CPU power and not the video card in use, so we’ll be trying to reduce how much the engine has to do each frame.

 

Now for some basic optimizations: We’ll handle rigid meshes first.  If you modeled it and it isn't alpha-blended or skinned, it's a rigid mesh. In general, each rigid mesh produces a draw call. If you use multiple materials in a mesh, each material will produce a draw call. Each additional pass in a material will produce an additional draw call. If you’ve been completely oblivious to rendering performance and want to optimize existing meshes, the simplest thing you can do is to merge meshes that use the same material but don’t actually need to be separate objects for rigging purposes (like wheels). It’s always faster to render an object with 4000 polygons than 4 objects with 1000 polygons. You should strive to keep objects using a single material; this means a barrel or crate should be using a single material and not a different one for each side. These optimizations are most effective when done on meshes that are used often (like props.)

 

Skinned meshes act roughly the same like rigid meshes; they must be deformed and uploaded to the video card every frame however. If you decide to skin an object, you should use as few polygons as needed to make it look good. Skinned meshes additionally do not have support for collision detection and cannot have decals applied to them, nor can they use precomputed lighting (ie “Compute Vertex Solve”.)

 

Unfortunately the previous optimizations won’t help much with object visibility. Renegade utilizes frustum culling which will skip drawing meshes that are behind you, but in order to skip meshes behind hills, buildings, and other large obstacles you will need to use a system called VIS. Maps with VIS will generally perform better than maps without because objects that are hidden can be completely ignored.  You can find an excellent tutorial written by YSLMuffins on how to hook VIS up on the Renegade modding forums. (http://www.renegadeforums.com/index.php?t=msg&th=6243)

 

 

Fixplanes (not boats)

The W3D exporter for 3dsmax doesn’t properly calculate the plane equations used for collision detection. Renegade will recalculate this information whenever a file is loaded, but you can speed load times by drag and dropping these files onto the fixplanes tool. This tool can process more than one file at a time; simply drop multiple files or a folder onto it. It’ll also process any files found in subdirectories.

 

 

Z-Aligned Billboards

The usual “orient” and “align” billboard modes aren’t very effective for foliage and plants because they will turn upwards to always face the camera. In order to use the new Z-align mode, simply drag and drop a W3D file onto the zalign tool and any meshes with a billboard mode applied will be modified.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.