Oodle Data Compression and IO

Oodle Data Compression

Oodle provides simple drop-in data compressors, which you can use in your own data loading pipeline. Oodle's compressors are designed to be very fast to decode and very low memory use at load time, while achieving world-class compression.

New in Oodle - Mermaid and Selkie! . Mermaid and Selkie are two new compressors that are faster to decode than anything seen before, but still get great compression. They're the higher speed sisters of the amazing Oodle Kraken .

The ideal tradeoff

Data compression is a tradeoff between speed and compression ratio. Oodle offers a range of compressors, some very very fast, and some with very high compression, and some in between. This means there is always an Oodle compressor which offers a great tradeoff for your needs!

The chart at right shows a good way to evaluate a compressor : the total time required to load the compressed data off disk and then the time to decompress the data. This measures the compression ratio because smaller data will load faster. By varying the disk speed, you can see how well the compressor solves the problem in different tradeoff domains. Oodle's compressors result in the lowest total load time over a very wide range of simulated disk speeds.

The right compressor for you

Oodle offers many compressors, so you can choose the one that's best for your game. When one Oodle compressor doesn't fit the bill, another one will.
  • Oodle Kraken offers high compression with super-fast decodes - 3-5X faster than Zlib, 10-30X faster than LZMA (at near LZMA compression ratios)!
  • Oodle Mermaid offers mid-level compression (slightly better than zip) with insanely fast decodes - 7-12X faster than Zlib. Basically, near LZ4 speed but with zip-level compression. Loading data compressed with Mermaid is even faster than loading uncompressed data from disk!
  • Oodle Selkie offers lower compression ratios but the very crazy-fastest decodes, 1.5-2X faster than LZ4 but with slightly better compression (ratio falls between LZ4 and zip). Eliminate decode time - Oodle Selkie is the fastest decompressor in the world, close to memcpy speed!
  • Oodle LZNA offers world-beating compression ratios at the high-compression-ratio end of the spectrum, yet still decodes 2-4X faster than 7zip/LZMA. Make your distributions smaller!
  • The Oodle BitKnit compressor has a great balance of speed and compression ratio. Very high compression ratios (in between Kraken and LZNA), with decode speed comparable to Zlib, and excellent encode speed!

Oodle's decompressors are optimized for each platform

Oodle uses the same data format on every platform, so your pipeline doesn't need to change, but the decompressors are custom designed to make use of SIMD and other special features of the platform. Unlike standard compressors, the Oodle compression algorithms were designed from scratch to work with the quirks of current game platforms.

Oodle is so fast that running the compressors and saving or loading compressed data is faster than just doing IO of uncompressed data.

Parallelize compression or decompression

You can let Oodle run compression and decompression on multiple threads with just one function call! Or use Oodle in parallel in your own way on your own threads. Every Oodle compressor can be run on multiple cores, and get near-linear speedup of compression and decompression. You specify the parallel chunk granularity, so the branching factor is up to you. The speeds reported here are only for serial single core use - Oodle gets many times faster when you give it more cores!

Compress your network traffic

Oodle Network Compression reduces bandwidth, which saves you money, and gives you more players with better gaming experiences.

Oodle gives you all the tools to load your game data right, cross-platform and ready to use out of the box. Save yourself the headache and let Oodle deal with it! Email us to get an evaluation SDK!