Oodle Data Compression and IO

Oodle Network Compression

Oodle Network Compression is a unique solution for realtime compression of network traffic, greatly reducing the bandwidth required by game servers.

Oodle Network Compression was specifically designed for the needs of game servers hosting a large number of connections. It has very low per-connection memory use and low connection startup cost, making it ideal for MMOs and other high load servers.

Oodle Network Compression works with TCP and UDP networking. For UDP networking Oodle requires no consistent channel history at all. Packets are compressed independently and there is no per-channel memory use.

More Compression, Lower Bandwidth

Oodle Network Compression has been measured to compress real game packets by over 6 to 1, which is twice as much as ZLIB on the same data. That compression directly translates into a savings in bandwidth, which reduces the cost of hosting your servers, or lets you run more players per server.

Oodle Network Compression is not just for large downloads and content updates to your users; it can be used on every packet your game sends, even tiny ones.

Oodle Network Compression requires no buffering and adds no latency; it does not combine or delay packets. Packets are compressed immediately as they are made. The game may bit-pack packets or not prior to compression.

Train a dictionary on your data

Oodle Network Compression achieves high compression and low memory use by building a static dictionary of training data.

Oodle provides tools for you to train the compressors on your game's network traffic. This creates a game-specific dictionary, which you optimize offline and distribute with your client. This dictionary, when compressed, only needs to be several hundred kilobytes to be effective. You control the dictionary size you want to use. The larger the dictionary, the more compression you will get.

Oodle Network Compression for UDP relies entirely on the trained dictionary for compression. UDP packets are compressed independently with no adaptive state and no per-channel memory use.

Lower Memory Use

Oodle Network Compression has the lowest per-channel memory use of any comparable packet compressor. Oodle for TCP uses less than half the memory of ZLIB. Oodle for UDP uses no per-channel memory at all. On servers with a large number of connections, like MMOs, this results in huge memory savings, even gigabytes!

What our users say!

From Digital Extremes:

"Remember [LZF's] 1.25:1 (80%) I mentioned? With [RAD's Oodle] we were able to reach 1.8:1 (55%) in the same scenario. So those long co-op Survival missions you play used to work with data sent at 80% its original size, and now we've compressed that further to 55% its original size. Gains vary between different mission types, but the way I tried to set it up is that they're the biggest in the most demanding situations (after all, compression is less important if we're not sending too much data anyway). Having said that, the new compression system performs much better than the old one in every scenario I've tested. "

Call us!

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!