Oodle Lossless Image Compression
Oodle Lossless Image is a new image compression algorithm that achieves very high compression ratios, but with incredibly fast decompression.
It compresses to tiny sizes like the highest compression lossless image formats (WebP, FLIF, JPEG2000, PNG, etc), but it destroys them in decode speed -- usually 5-10x faster than PNG and 200-500x faster than FLIF (not a typo).
Oodle Lossless Image uses Oodle Data Compression, a library of novel data compression algorithms with incredible world-beating performance. Together, they make your game smaller to download, make your levels load faster and save money on bandwidth!
Oodle Lossless Image is very fast
Oodle Lossless Image is all about speed, but still achieves very high compression ratios - equaling or bettering WebP, FLIF, JPEG2000, and of course way more than PNG.
But unlike other compressors that accept a trade-off for slower speeds, Oodle Lossless Image is still super fast - its decode speed is 5-10x faster than PNG and 200-500x faster than FLIF! It's just massively faster than anything else at these compression levels.
Oodle Lossless Image is designed to run at blazing speeds on modern CPUs - it utilizes optimized low-level routines for x86, x64, ARM32 and ARM64.
Oodle Lossless Image makes images really small
On real data, Oodle Lossless Image gets much more compression than PNG - competitive with some of the highest compression lossless image formats, while also beating them all in decoding performance.
To reduce loading times, Oodle Lossless Image is the best choice. Its combination of high compression ratio and super fast decoding can reduce loading time by keeping the disk IO quick and the decompression fast. The sum of the two components is the total loading time.
Smaller images also means smaller game install sizes which has been shown to improve conversion rates.
Alternatively, you can add up to 30% more graphics for the same size budget!
Oodle Lossless Image is painless to integrate
With libPNG and STB compatible drop-in APIs, it is painless to integrate into an existing project. Simply swap out the stb/libpng headers and you are all set! There is also a OLI specific API which does zero allocations, allowing you to have full control over memory use.