Benchmarks
Memory Allocation
Resource Type | Average Size |
---|---|
Track | 3 MB |
Theme | 10-30 MB |
Bundle | 10-30+Track MB |
DSP Load (Unreal)
Setup Description | Platform | Approx. DSP Load |
---|---|---|
10 Instruments playing interactively | 10 y/o Desktop PC | ~10% |
10 Instruments playing interactively | Apple M1 Laptop | ~4–5% |
- These measurements reflect live granular playback of interactive music using the Reactional plugin.
- Test has been made with 6 Samplers + 1 Commercial Track on a Low-end Android phone with No issues.
Memory Usage (Runtime)
Factor Description | Typical RAM Footprint |
---|---|
Minimal instrument (short notes, limited range) | ~4 to ~10 MB |
Complex instrument (long notes, wide range) | Up to ~150 MB |
Stereo commercial audio track | ~1 MB per minute |
- RAM usage depends entirely on how the instrument was authored in Composer, factors include note length, pitch range, round robin variations, and velocity layers.
- Once loaded, playback RAM usage is stable regardless of music length: a 1-minute or 10-hour soundtrack using the same instruments will not differ in memory consumption.
Storage Footprint
Resource Type | Format | Approx. Size |
---|---|---|
Instrument Sample Bank | Encrypted + Compressed OGG | ~0.4 – 11 MB per instrument |
Stereo Commercial Track | Compressed OGG | ~1 MB per minute |
- All audio assets are stored using the OGG Vorbis compression format. Instrument sample banks are additionally encrypted to prevent unauthorized extraction or modification.
- Sample banks are sized per instrument, as they contain many short, pre-rendered note fragments used for granular playback. Their size depends on how the instrument was authored in Composer, including note length, pitch range, velocity layers, and round robins.
- Stereo commercial tracks, on the other hand, are linear full-length files, similar to traditional music playback, so their size is based on duration, typically averaging ~1 MB per minute.
Best Practice
- Concider Heavy blueprint Nodes as
LoadBundle
should in most cases be called in Async mode.