Speed
The benchmark application measures loading and preprocess generation for a set of benchmark meshes, with additional query benchmarks then also executed for each mesh.
Long paths
The 'Long paths' query benchmark times pathfinding for all pairs of start and end positions from a set of positions distributed over the mesh being benchmarked.
Pathfinding with dynamic obstacles
The 'Dynamic obstacles pathfinding' query benchmark measures performance
for pathfinding queries with a number of very dynamic obstacles included in the query collision context.
For each 'obstacle iteration', a set of obstacles is moved to random new positions,
with a small number of pathfinding queries then executed for each such iteration.
The queries in this benchmark are also 'long paths', for pairs of points generated at random over the entire mesh being benchmarked.
Setup and 'Long paths' query benchmark, release 5.15, x86 build on an Intel E6400 at 2.13gHz
| Mesh | Loading time | Preprocess generation time | Paths queried | (of which unreachable) | Average points per path | Average query time |
|---|---|---|---|---|---|---|
| mesh1 | 0.031 seconds | 0.015 seconds | 1770 | 0 | 12.1288 | 0.000027 seconds |
| flatshead_dungeon | 0.016 seconds | 0.156 seconds | 1770 | 0 | 22.2243 | 0.00013 seconds |
| thainesford | 0.047 seconds | 2.0 seconds | 1770 | 0 | 15.0898 | 0.00034 seconds |
Pathfinding against dynamic obstacles, release 5.15, x86 build on an Intel E6400 at 2.13gHz
| Mesh | Number of obstacles | Queries per obstacle iteration | Placement and setup | Average query time |
|---|---|---|---|---|
| flatshead_dungeon | 5 | 10 | below timer threshhold | 0.00034 seconds |
| flatshead_dungeon | 10 | 10 | below timer threshhold | 0.00046 seconds |
| flatshead_dungeon | 20 | 10 | 0.000018 seconds | 0.00051 seconds |
| thainesford | 5 | 10 | below timer threshhold | 0.00087 seconds |
| thainesford | 10 | 10 | 0.0004 seconds | 0.00094 seconds |
| thainesford | 20 | 10 | 0.0004 seconds | 0.00184 seconds |
Memory
The source code for the memory benchmark is in the 'memory' project of the samples workspace.
You can also run the prebuilt 'SDKRoot\bin\memory.exe' directly.
Note that this benchmark cannot be run in the 'testbed-only' version of the SDK.
Bytes allocated - Release 5.14
| Mesh | At start | Mesh loaded | Collision preprocess added | Pathfinding preprocess added |
|---|---|---|---|---|
| mesh1 | 95578 | 146882 | 162050 | 174659 |
| flatshead_dungeon | 95602 | 674821 | 839605 | 981954 |
| thainesford | 95602 | 966149 | 1453825 | 2238781 |