Installing the SDK

To run the benchmark, you will first need to download and install the sdk.
For the speed benchmark, you can use either the 'testbed-only' SDK or the full SDK. The memory benchmark runs against the standalone PathEngine dll, and so requires the full SDK.
Refer to this page (in the online documentation) for instructions.

Running the speed benchmark

Double click 'run benchmark.bat' in the 'bin' subdirectory of the release to run the speed benchmark.
This will start the benchmark running under the graphical testbed.
Use the space bar to step through the benchmark environments.
You can also use the testbed navigation controls to move around each environment.
(Refer to this page for an explanation of the testbed navigation controls.)

What the speed benchmark measures

The speed benchmark measures times for loading meshes, times for preprocess generation, and then query times for pathfinding against those meshes.

Visualisation of benchmark query sets

After each set of query benchmarks is completed the actual benchmarked query set is displayed graphically in the testbed, to make it clear exactly what is being benchmarked.

Running the memory benchmark

Double click 'memory.exe' in the 'bin' subdirectory of the release to run the memory benchmark.
In the 'testbed-only' version of the SDK this will fail, because the PathEngine dll is not included.
The benchmark will open a message box window with results after each environment has been processed.

What the memory benchmark measures

The memory benchmark measures the total memory allocated by PathEngine at various stages in loading and preprocessing a mesh for pathfinding.

Results

Benchmark results can be found on this page (on the subnav bar).

Environments

The complexity of the pathfinding environment is a key factor in determining query times.
Information about the environments used for the benchmark can be found on Benchmark environments (on the subnav bar).

The actual benchmark results can be found on Results.

Source code

The source code for the benchmarks is included in the SDK samples workspace.

The source for the performance benchmark is in the 'benchmark' project.
The source for the memory benchmark is in the 'memory' project.

Benchmarking different meshes

You can run the benchmark on a different mesh simply by replacing the file 'SDKRoot/resource/mesh1.tok' with the mesh to be benchmarked.