Skip to content

Latest commit

 

History

History
58 lines (39 loc) · 3.07 KB

paragon_performance.md

File metadata and controls

58 lines (39 loc) · 3.07 KB

Paragon database performance

v2.1.0 v2.0.0 v1.3.0
Compressed size 181.25 MB 208.93 MB 208.32 MB
Compression ratio 23.59 : 1 20.47 : 1 20.53 : 1
Compression time 22m 40.51s 8m 10.69s 10m 23.05s
Compression speed 3218.44 KB/sec 8923.56 KB/sec 7027.87 KB/sec
Max error 3.9834 cm 4.1029 cm 2.8669 cm
Error 99th percentile 0.0096 cm 0.0099 cm 0.0099 cm
Samples below error threshold 99.52 % 99.04 % 99.04 %

Notes:

  • The error is unusually high and above 1 cm for 4 exotic clips
  • Starting with v1.3.0 measurements have been made with a Ryzen 2950X CPU while prior versions used an Intel i7 6850K.
  • Even though the 'max error' appears to have increased significantly in 2.0.0, the error is not visible to the naked eye due to the exotic nature of the clip it happens in

Data and method used

To compile these statistics, a large number of animations from Paragon are used.

In October 2017 the animations were manually extracted and converted to the ACL file format losslessly. The data is sadly NOT available upon request. Epic has permitted Nicholas Frechette to use them for research purposes only under a non-disclosure agreement.

  • Number of clips: 6558
  • Total duration: 7h 0m 45.27s
  • Raw size: 4276.11 MB (10x float32 * num bones * num samples)

The data set contains among other things:

  • Lots of characters with varying number of bones
  • Animated objects of various shape and form
  • Very short and very long clips
  • Clips with unusual sample rate (as low as 2 FPS!)
  • World space clips
  • Lots of 3D scale
  • Lots of other exotic clips

ACL supports various compression methods but only the overall best variant will be tracked here (see get_default_compression_settings() for details).

The error is measured 3cm away from each bone to simulate the visual mesh skinning process as described here with the default error threshold of 0.01cm. The 99th percentile and the number of samples below the error threshold are calculated by measuring the error on every bone at every sample.

The performance of ACL in Unreal Engine is tracked by the plugin here.

Results in images

Compression ratio VS max error per clip

Compression ratio distribution

Max error distribution

Distribution of the error for every bone at every key frame

Distribution of the error for every bone at every key frame (top 10%)

Distribution of clip durations