Skip to content

Commit

Permalink
Updating with latest numbers from v0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
nfrechette authored Nov 15, 2017
1 parent 6b283fa commit 303d50e
Showing 1 changed file with 17 additions and 17 deletions.
34 changes: 17 additions & 17 deletions docs/acl_vs_ue4_vs_unity.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ To compile the statistics, the animation database from Carnegie-Mellon Universit
* Number of clips: 2534
* Sample rate: 24 FPS
* Total duration: 09h 49m 37.58s
* Raw size: 1000.56 MB (7x float32 * num bones * num samples)
* Raw size: 1429.38 MB (10x float32 * num bones * num samples)

For ACL and Unreal 4, the error is measured **3cm** away from each bone to simulate the visual mesh skinning process as described [here](error_metrics.md).

Expand All @@ -20,29 +20,29 @@ For ACL and Unreal 4, the error is measured **3cm** away from each bone to simul

Statistics for ACL are being generated with the `acl_compressor` tool found [here](../tools/acl_compressor). It supports various compression method, only the best will be tracked here. Every clip uses an error threshold of **0.01cm (0.1mm)**.

* Compressed size: 82.25 MB
* Compression ratio: 12.16 : 1
* Max error: 0.0635 centimeters (clip 144_32)
* Compression time: 00h 50m 38.96s (single threaded)
* Compression time: 00h 05m 27.05s (multi threaded)
* Compressed size: **67.09 MB**
* Compression ratio: **21.31 : 1**
* Max error: **0.0587** centimeters (clip 144_32)
* Compression time: **01h 23m 51.48s** (single threaded)
* Compression time: **00h 09m 21.94s** (multi threaded)
* Best rotation format: Quat Drop W Variable
* Best translation format: Vector3 Variable
* Best range reduction format: Per Clip Rotations & Translations, Per Segment Rotations & Translations

Note that you can compress any number of clips in parallel with multiple threads but each clip uses a single thread for now.

**Results from release [0.4.0](https://github.com/nfrechette/acl/releases/tag/v0.4.0)**
**Results from release [0.5.0](https://github.com/nfrechette/acl/releases/tag/v0.5.0)**

See [here](performance_history.md) for a history of performance progress across the various releases.

# Unreal 4

In order to measure statistics in Unreal 4, ACL was integrated along with a small [commandlet](../tools/ue4_stats_dump) to run the necessary compression and decompression logic. Everything uses the default and automatic compression settings which performs an exhaustive search of the best compression method.

* Compressed size: 107.94 MB
* Compression ratio: 9.27 : 1
* Max error: 0.0850 centimeters (clip 128_11)
* Compression time: 03h 54m 16.43s (single threaded)
* Compressed size: **107.94 MB**
* Compression ratio: **9.27 : 1**
* Max error: **0.0850** centimeters (clip 128_11)
* Compression time: **03h 54m 16.43s** (single threaded)

Sadly the Unreal 4 compression logic does not *yet* support multi-threading and must be run from the main thread.

Expand All @@ -52,12 +52,12 @@ Sadly the Unreal 4 compression logic does not *yet* support multi-threading and

Sadly I have not yet managed to find a way to implement a custom error metric in Unity nor how to even sample a clip procedurally in both the raw and/or compressed form. This makes comparing the results somewhat difficult. However I did manage to extract the following statistics with the default compression settings and the `optimal` compression algorithm:

* Number of muscle curves: 329153
* Number of constant curves: 119173
* Number of dense curves: 203526
* Number of stream curves: 6454
* Editor memory footprint: 1.22 GB
* Win32 memory footprint: 282 MB
* Number of muscle curves: **329153**
* Number of constant curves: **119173**
* Number of dense curves: **203526**
* Number of stream curves: **6454**
* Editor memory footprint: **1.22 GB**
* Win32 memory footprint: **282 MB**
* Max error: unknown
* Compression time: unknown

Expand Down

0 comments on commit 303d50e

Please sign in to comment.