Oodle Data Compression and IO

Introducing Oodle Kraken!

Kraken is an amazing new lossless data compressor that gets both high compression and super fast decode speeds!

Oodle is a library of data compression tools specifically designed for games. Oodle includes several different lossless data compressors, and a unique network packet compression solution. Oodle Data Compression provides the fastest and highest ratio compressors for game data. There's a perfect Oodle compressor for every need. Oodle Network Compression can compress UDP or TCP packets like nothing else, saving bandwidth for your players and servers.

New in Oodle 2.6.0: Kraken has improved in both speed and compression ratio, making it even better than before! Read about everything that's new in Oodle.

Oodle Kraken is crazy fast

Oodle Kraken is a revolutionary new data compression algorithm that achieves very high compression ratios, but with unheard-of-fast decompression. It gets compression like the highest compression LZ compressors - LZMA, LZHAM, Brotli, and more than ZStd or RAR. With other compressors that means accepting a tradeoff for slower speeds; that is, in the past you had to choose high speed or high compression, you couldn't have both. Kraken blows that away, with decode speed 3-5× faster than zlib, and 10-30× faster than LZMA. It's just much faster than anything else at its compression level.

Kraken is designed to run at blazing speeds on modern CPUs. It's great on the AMD Jaguar chip in the PS4 and Xbox One, which is a platform most compressors struggle on. Kraken achieves its amazing performance from new ideas on how to do LZ compression, and carefully optimized low level routines for x86, x64, Jaguar and ARM.

Kraken has high compression

On real game data, Kraken gets way more compression than zlib, close to the best LZ compressors in the world (like Oodle LZNA). The only compressors that can decode faster than Kraken are it's new sisters Oodle Mermaid and Oodle Selkie, or codecs with much less compression like LZ4.

Kraken is ideal for data loading

To minimize load time, a data compressor must make the data small so that the disk IO is quick, and it must also decompress the data quickly. The total time to load and then decompress is the "sum" on this chart - only Kraken offers a big time reduction vs. just loading uncompressed data raw.

Loading Kraken data is faster than loading uncompressed data, so there's no need for an installer. You can serve compressed data directly to clients. And Kraken's very low CPU use makes it great for in-game paging.

Kraken can decode on two threads!

Kraken has an unusual capability to decode normal Kraken compressed data with two threads. This allows for about a 1.7× speedup with 2 threads, which puts Kraken decode speed even farther out of the ballpark.

No special preparation of the data is needed (such as the chunking that is done for more primitive threaded decoders), and no compression ratio is lost. That is, existing Kraken-compressed data can be directly loaded by the threaded Kraken decoder.

We provide pre-threaded decoders ready to go in the Oodle SDK, or you can easily run it on your own threads.

Oodle has it all

Oodle offers a family of data compressors with different performance tradeoffs, so you can choose the one that works best for your needs. Oodle runs on every game platform, and the data is the same on every platform - compress your data once and be done with it. Oodle comes with a simple C API, and helpers for parallel compression in your tools. Oodle also has a unique network packet technology. See everything Oodle has to offer.

Try it!

Oodle is easy to use, cross platform, and super fast. Don't take our word for it, email us for a free evaluation SDK.
  • 425.893.4300 ph
  • Email us!
  • © 1991 - 2024 Epic Games Tools LLC
  • 10/17/24