PathEngine home previous: 'ThreadPool'next: 'ContentChunks'
Contents, Programmers Guide, Example Projects, Other Examples, 'ThreadPerMesh'

'ThreadPerMesh'

This project runs in the testbed and demonstrates an application paradigm where one thread is assigned per PathEngine ground mesh, with the meshes then updated and managed completely separately.

Controls are:
- [up arrow], [down arrow] - change currently displayed instance
- [A] - add an agent to currently displayed instance

This is a PathEngine testbed application, and so you can also use the testbed camera controls (see Working with the TestBed).

Each instance will be updated separately, with each agent pathfinding randomly and then moving to the end of the path.
Counters will be displayed for each instance, to show the total number of queries executed since application startup.

Note that there is no timing managment or interaction between instances, and the update speed for each instance then depends purely on the time taken by each thread to perform the update step.

PathEngine iMesh objects are essentially independant objects with respect to run-time state management, so this is a very straightforward way to split pathfinding across threads, but note that this is not necessarily the best way to set things up!
(PathEngine supports a lot of different ways to arrangement movement logic with for parallel execution across multiple threads, including arrangements where multiple threads operate on the same iMesh instances, and the best way to set things up will vary with very depending on the specific higher level application requirements.)


Documentation for PathEngine release 6.00 - Copyright © 2002-2016 PathEnginenext: 'ContentChunks'