In order to measure the decompression performance, the acl_decompressor tool is used to extract the relevant metrics and a python script is used to parse them.
Here are the clips we measure on:
- The 42 regression clips from CMU database
- The 5 clips from the Matinee fight scene
Note that the data is not yet conveniently packaged.
Here are the platforms we measure on:
- Desktop: Intel i7-6850K @ 3.8 GHz (for v1.2 and earlier)
- Desktop: Ryzen 2950X @ 3.5 GHz (for v1.3 and later)
- Laptop: MacBook Pro mid 2014 @ 2.6 GHz
- Phone: Android Pixel 3 @ 2.5 GHz
- Tablet: iPad Pro 10.5 inch @ 2.39 GHz
We only show a few compilers and architectures to keep the graphs readable.
Unless otherwise specified, the results are from release 1.3.0
The uniformly sampled algorithm offers consistent performance regardless of the playback direction. Shown here is the median performance of decompress_pose with a cold CPU cache for 3 clips with forward, backward, and random playback on the iPad.
| Clip Name | Forward | Backward | Random |
|---|---|---|---|
| 104_30 | 1.745 us | 1.754 us | 1.746 us |
| Trooper_1 | 3.199 us | 3.201 us | 3.236 us |
| Trooper_Main | 42.411 us | 41.789 us | 41.640 us |
As can be seen, the performance is consistent regardless of the playback direction. It also remains consistent regardless of the clip sample rate and the clip playback rate.
This function decompresses a whole pose in one go. Shown here is forward playback with a cold CPU cache.
Here is the delta with the previous version:
This function decompresses a single bone. To generate the graphs, we measure the cost of decompressing a whole pose one bone at a time. Shown here is forward playback with a cold CPU cache.
Here is the delta with the previous version:







