Browse Source

Added documentation for performance test

Jorrit Rouwe 3 years ago
parent
commit
95d196ba9a
2 changed files with 25 additions and 1 deletions
  1. 24 0
      Docs/PerformanceTest.md
  2. 1 1
      README.md

+ 24 - 0
Docs/PerformanceTest.md

@@ -0,0 +1,24 @@
+# Performance Test
+
+The performance test application contains a couple of simple scenes to test performance of Jolt Physics. It will output the results to the TTY in CSV format.
+
+## Commandline options
+
+- -s=[scene]: This allows you to select a scene, [scene] can be;
+    - Ragdoll: A scene with 16 piles of 10 ragdolls (3680 bodies) with motors active dropping on a level section.
+    - ConvexVsMesh: A simpler scene of 484 convex shapes (sphere, box, convex hull, capsule) falling on a 2000 triangle mesh.
+- -q=[quality]: This limits the motion quality types that the test will run on. By default it will test both. [quality] can be:
+    - Discrete: Discrete collision detection
+    - LinearCast: Linear cast continous collision detection
+- -t=[num]: This sets the amount of threads the test will run on. By default it will test 1 .. number of virtual processors.
+- -p: Outputs a profile snapshot every 100 iterations
+- -r: Outputs a performance_test_[tag].jor file that contains a recording to be played back with JoltViewer
+- -f: Outputs the time taken per frame to per_frame_[tag].csv
+- -h: Displays a help text
+
+## Output
+
+- Motion Quality: Shows the motion quality for the test.
+- Thread Count: The amount of threads used for the test.
+- Steps / Second: Average amount of physics steps / second over the entire duration of the test.
+- Hash: A hash of all positions and rotations of the bodies at the end of the test. Can be used to verify that the test was deterministic.

+ 1 - 1
README.md

@@ -98,7 +98,7 @@ For build instructions go to the [Build](Build/README.md) section.
 * HelloWorld - A simple application demonstrating how to use the Jolt Physics library.
 * HelloWorld - A simple application demonstrating how to use the Jolt Physics library.
 * Jolt - All source code for the library is in this folder.
 * Jolt - All source code for the library is in this folder.
 * JoltViewer - It is possible to record the output of the physics engine using the DebugRendererRecorder class (a .jor file), this folder contains the source code to an application that can visualize a recording. This is useful for e.g. visualizing the output of the PerformanceTest from different platforms. Currently available on Windows only.
 * JoltViewer - It is possible to record the output of the physics engine using the DebugRendererRecorder class (a .jor file), this folder contains the source code to an application that can visualize a recording. This is useful for e.g. visualizing the output of the PerformanceTest from different platforms. Currently available on Windows only.
-* PerformanceTest - Contains a simple application that runs a performance test and collects timing information.
+* PerformanceTest - Contains a simple application that runs a [performance test](Docs/PerformanceTest.md) and collects timing information.
 * Samples - This contains the sample application, see the [Samples](Docs/Samples.md) section. Currently available on Windows only.
 * Samples - This contains the sample application, see the [Samples](Docs/Samples.md) section. Currently available on Windows only.
 * TestFramework - A rendering framework to visualize the results of the physics engine. Used by Samples and JoltViewer. Currently available on Windows only.
 * TestFramework - A rendering framework to visualize the results of the physics engine. Used by Samples and JoltViewer. Currently available on Windows only.
 * UnitTests - A set of unit tests to validate the behavior of the physics engine.
 * UnitTests - A set of unit tests to validate the behavior of the physics engine.