| PathEngine home | previous: | next: |
The time taken to complete the 3D content processing is very much dependant on the data passed in.
The most time-consuming sub-process is BSP tree construction, which scales very well for most practical data sets, but scenes with large numbers of objects or faces will always take longer to process than scenes with much smaller numbers of objects or faces.
In the current release, polygon soups are handled simply by converting every single tri in the polygon soup into a convex solid.
This means that it's generally much much more expensive to process polygon soup geometry than a set of solid objects with similar complexity.
The polygon soup processing can be expanded, in the future,
to convert tris more intelligently, and resulting in a smaller number of solid objects,
but combination of solids is at the heart of the process and
solid objects will always be processed more efficiently.
So wherever it is possible to arrange for source data to be provided to the
3D content processing in the form of convex solids this should be done.
For small scenery objects, or scenery objects which are close to convex in shape,
it can be a big win to pass these objects into the content processing as solids
(simply by passing the set of vertices in each object,
instead of treating as tri meshes).
(Very small scenery objects can often be ommitted completely from the scene.)
If you have a low detail representation of the objects in a scene (e.g. for 3D collision, or level of detail rendering) then use these instead of the full detail rendering geometry.
If you don't have a low detail representation then there are a number of tools
available (both free and commercial) for generating low detail representation from
high detail rendering geometry.
Note that, as far as PathEngine's 3D content processing is concerned,
things like texture coordinates, lighting, and so on are not an issue,
so this simplifies the geometry reduction problem.
If there is a significant amount of geometry in a scene which will never be reached by pathfinding agents look at marking this geometry as excluded from PathEngine 3D content processing.
Processing large scenes can require a significant working set,
and if the OS needs to start swapping to disk then this can start to
slow things down significantly.
If you need to process large scenes then it's a good idea to ensure that the machines
being used for the content processing have a decent amount of RAM.
Whenever large worlds need to be processed splitting these up into tiles
(with
This limits the maximum memory load to per tile complexity rather than whole world complexity,
makes the process as a whole scale essentially linearly with respect to world size,
and enables incremental and parallel per tile processing.
| Documentation for PathEngine release 5.16 - Copyright © 2002-2008 PathEngine | next: |