Bo_Hazem
Banned
Kraken VS ZLIB:
According to the official graph by RAD Game Tools, Kraken has 29% higher compression ratio over ZLIB (used in PS4 and other platforms), and does it 3-5x faster (doesn't really concern us as gamers, only good for devs). Both Kraken and ZLIB are lossless compressions, meaning data is kept as it is, like textures, audio, game files, etc. Also another advantage is being 297% (~4x times) faster in decompression, which is very critical for data streaming at least.
Oodle Texture:
Textures in games take a big chunk of the total size. To amplify compression even further, Oodle Texture go 5-15% "near" lossless compression:
Lossless Transform for BC7: Oodle Texture also includes a lossless transform for BC7 blocks called "BC7Prep" that makes them more compressible. BC7Prep takes BC7 blocks that are often very difficult to compress and rearranges their bits, yielding 5-15% smaller files after subsequent compression. BC7Prep does require runtime reversal of the transform, which can be done on the GPU. BC7Prep can be used on existing BC7 encoded blocks, or for additional savings can be used with Oodle Texture RDO in near lossless mode. This allows significant size reduction on textures where maximum quality is necessary.
Pushing compression with a slight loss, you can go up to 50% smaller textures files:
Oodle Texture Rate Distortion Optimization (RDO), sometimes known as "super compression", lets you encode BCN textures with your choice of size-quality tradeoff. Oodle Texture RDO searches the space of possible ways to convert your source texture into BCN, finding encodings that are both high visual quality and smaller after compression. RDO can often find near lossless encodings that save 10% in compressed size, and with only small visual difference can save 20-50%.
Oodle Texture RDO provides fine control with the lambda parameter, ranging from the same quality as non-RDO BCN encoding, to gradually lower quality, with no sudden increase in distortion, or unexpected bad results on some textures. Oodle Texture RDO is predictable and consistent across your whole data set; you can usually use the same lambda level on most of your textures with no manual inspection and tuning. Visit Oodle Texture RDO examples to see for yourself.
RDO encoding just produces BCN block data, which can be put directly into textures, and stored in hardware tiled order. Oodle Texture RDO does not make a custom output format and therefore requires no runtime unpacking.
Kraken Hardware Decompressor:
That said, Kraken hardware decompressor (equivalent of 9x Zen2 cores) on PS5 should work best with Oodle Texture, but Oodle Texture can work with any lossless decompressor, like ZLIB HW decompressor on Xbox Series X|S (equivalent of 3x Zen2 cores), and PS4. Xbox Series X|S already have a great solution for texture compression known as BCpack.
Oodle Texture RDO optimizes for the compressed size of the texture after packing with any general purpose lossless data compressor. This means it works great with hardware decompression. On consoles with hardware decompression, RDO textures can be loaded directly to GPU memory, Oodle Texture doesn't require any runtime unpacking or CPU interaction at all. Of course it works great with Kraken and all the compressors in Oodle Data Compression, but you don't need Oodle Data to use Oodle Texture, they are independent.
Sources:
PS5 vs Xbox Series X
As Xbox Series X|S have around similar texture reduction, we can't say Oodle Texture is better than BCpack nor vice versa. But Sony has licensed Oodle Kraken + Texture to all PS4/PS5 developers and it still has 29% size reduction advantage over ZLIB on PS4 and Xbox Series X|S, mated with Kraken hardware decompressor. We also know that Xbox Series S will have gimped versions of the Series X textures, so will put it aside from the comparison. Assuming the textures/assets are the same on both consoles:
But, with the 297% (~4x times) faster decompression, which should be even better with Kraken HW decompressor, PS5 might leverage the extra space to use higher quality assets.
It doesn't stop right there though, with PS5 unprecedented SSD and I/O, it could eliminate the use of LOD's (Levels of Details), which can be 5-7 images in different resolutions/qualities. Sony Atom View has brought this technique in 2017, using only one high quality asset and streaming polygons as you get closer, resulting in much higher quality textures without wasting size on duplicates (5-7 versions of the same asset) in the old fashion LOD system. Atom View works as a plugin on UE and Unity engines, and probably with other Sony WWS proprietary engines:
Sony has helped Epic Games achieve similar tech known as "Nanite" on their upcoming Unreal Engine 5, using hundreds of billions of polygons of uncompressed 8K Hollywood-level assets with up to 16K shadows, all crunched losslessly to around 20 million polygons per frame for this 4.2 million pixel (1440p) gameplay demo. It only needed a 0.7GB pool of RAM for streaming:
(Timestamped)
The I/O throughput of 22GB/s makes the whole 825GB SSD like a DDR4 RAM! Which is insane:
DDR4 data rates: (single channel)
DDR4 2133: 17 GB / s
DDR4 2400: 19.2 GB / s
DDR4 2666: 21.3 GB / s
DDR4 3200: 25.6 GB / s
Short notes:
Full text:
TL;DR
PS5 should benefit from this headroom advantage to use higher quality assets than other platforms, or be more efficient with its storage for the same assets quality but smaller game sizes. All this while still being able to eliminate LOD's and use that extra space to have a bump on assets quality for the same smaller game size overall!
Thank you for reading.
EDIT: Thanks to GreyHand23 for the addition:
So far:
*Updated data. Please share your findings if they don't match what you see here or for new comparisons (only native current gen versions).
**Piled files, more like an error, to be changed later when fixed.
According to the official graph by RAD Game Tools, Kraken has 29% higher compression ratio over ZLIB (used in PS4 and other platforms), and does it 3-5x faster (doesn't really concern us as gamers, only good for devs). Both Kraken and ZLIB are lossless compressions, meaning data is kept as it is, like textures, audio, game files, etc. Also another advantage is being 297% (~4x times) faster in decompression, which is very critical for data streaming at least.
Oodle Texture:
Textures in games take a big chunk of the total size. To amplify compression even further, Oodle Texture go 5-15% "near" lossless compression:
Lossless Transform for BC7: Oodle Texture also includes a lossless transform for BC7 blocks called "BC7Prep" that makes them more compressible. BC7Prep takes BC7 blocks that are often very difficult to compress and rearranges their bits, yielding 5-15% smaller files after subsequent compression. BC7Prep does require runtime reversal of the transform, which can be done on the GPU. BC7Prep can be used on existing BC7 encoded blocks, or for additional savings can be used with Oodle Texture RDO in near lossless mode. This allows significant size reduction on textures where maximum quality is necessary.
Pushing compression with a slight loss, you can go up to 50% smaller textures files:
Oodle Texture Rate Distortion Optimization (RDO), sometimes known as "super compression", lets you encode BCN textures with your choice of size-quality tradeoff. Oodle Texture RDO searches the space of possible ways to convert your source texture into BCN, finding encodings that are both high visual quality and smaller after compression. RDO can often find near lossless encodings that save 10% in compressed size, and with only small visual difference can save 20-50%.
Oodle Texture RDO provides fine control with the lambda parameter, ranging from the same quality as non-RDO BCN encoding, to gradually lower quality, with no sudden increase in distortion, or unexpected bad results on some textures. Oodle Texture RDO is predictable and consistent across your whole data set; you can usually use the same lambda level on most of your textures with no manual inspection and tuning. Visit Oodle Texture RDO examples to see for yourself.
RDO encoding just produces BCN block data, which can be put directly into textures, and stored in hardware tiled order. Oodle Texture RDO does not make a custom output format and therefore requires no runtime unpacking.
Kraken Hardware Decompressor:
That said, Kraken hardware decompressor (equivalent of 9x Zen2 cores) on PS5 should work best with Oodle Texture, but Oodle Texture can work with any lossless decompressor, like ZLIB HW decompressor on Xbox Series X|S (equivalent of 3x Zen2 cores), and PS4. Xbox Series X|S already have a great solution for texture compression known as BCpack.
Oodle Texture RDO optimizes for the compressed size of the texture after packing with any general purpose lossless data compressor. This means it works great with hardware decompression. On consoles with hardware decompression, RDO textures can be loaded directly to GPU memory, Oodle Texture doesn't require any runtime unpacking or CPU interaction at all. Of course it works great with Kraken and all the compressors in Oodle Data Compression, but you don't need Oodle Data to use Oodle Texture, they are independent.
Sources:
Oodle Kraken
RAD Game Tools' web page. RAD makes Bink Video, the Telemetry Performance Visualization System, and Oodle Data Compression - all popular video game middleware.
www.radgametools.com
Oodle Texture Compression
RAD Game Tools' web page. RAD makes Bink Video, the Telemetry Performance Visualization System, and Oodle Data Compression - all popular video game middleware.
www.radgametools.com
PS5 vs Xbox Series X
As Xbox Series X|S have around similar texture reduction, we can't say Oodle Texture is better than BCpack nor vice versa. But Sony has licensed Oodle Kraken + Texture to all PS4/PS5 developers and it still has 29% size reduction advantage over ZLIB on PS4 and Xbox Series X|S, mated with Kraken hardware decompressor. We also know that Xbox Series S will have gimped versions of the Series X textures, so will put it aside from the comparison. Assuming the textures/assets are the same on both consoles:
But, with the 297% (~4x times) faster decompression, which should be even better with Kraken HW decompressor, PS5 might leverage the extra space to use higher quality assets.
It doesn't stop right there though, with PS5 unprecedented SSD and I/O, it could eliminate the use of LOD's (Levels of Details), which can be 5-7 images in different resolutions/qualities. Sony Atom View has brought this technique in 2017, using only one high quality asset and streaming polygons as you get closer, resulting in much higher quality textures without wasting size on duplicates (5-7 versions of the same asset) in the old fashion LOD system. Atom View works as a plugin on UE and Unity engines, and probably with other Sony WWS proprietary engines:
Sony has helped Epic Games achieve similar tech known as "Nanite" on their upcoming Unreal Engine 5, using hundreds of billions of polygons of uncompressed 8K Hollywood-level assets with up to 16K shadows, all crunched losslessly to around 20 million polygons per frame for this 4.2 million pixel (1440p) gameplay demo. It only needed a 0.7GB pool of RAM for streaming:
(Timestamped)
The I/O throughput of 22GB/s makes the whole 825GB SSD like a DDR4 RAM! Which is insane:
DDR4 data rates: (single channel)
DDR4 2133: 17 GB / s
DDR4 2400: 19.2 GB / s
DDR4 2666: 21.3 GB / s
Data transfer rates for DDR, DDR2, DDR3 and DDR4, how fast?
The data transfer rates for DDR, DDR2, DDR3 and DDR4 in dual or single channel mode! Here are the single channel values, with dual, i.e. two memory slot !
www.softwareok.com
Short notes:
How Oodle Kraken and Oodle Texture supercharge the IO system of the Sony PS5
Zip | 1.64 to 1 |
Kraken | 1.82 to 1 |
Zip + Oodle Texture | 2.69 to 1 |
Kraken + Oodle Texture | 3.16 to 1 |
How does Kraken do it?
Kraken creates optimized streams for the decoder
Kraken plus Oodle Texture can double previous compression ratios
Full text:
How Oodle Kraken and Oodle Texture supercharge the IO system of the Sony PS5
The Sony PS5 will have the fastest data loading ever available in a mass market consumer device, and we think it may be even better than yo...
cbloomrants.blogspot.com
TL;DR
PS5 should benefit from this headroom advantage to use higher quality assets than other platforms, or be more efficient with its storage for the same assets quality but smaller game sizes. All this while still being able to eliminate LOD's and use that extra space to have a bump on assets quality for the same smaller game size overall!
Thank you for reading.
EDIT: Thanks to GreyHand23 for the addition:
This is the quote. "Not all games at launch of PS5 will be using Oodle Texture as it's a very new technology, but we expect it to be in the majority of PS5 games in the future. Because of this we expect the average compression ratio and therefore the effective IO speed to be even better than previously estimated."
https://cbloomrants.blogspot.com/2020/09/how-oodle-kraken-and-oodle-texture.html
They also say this in the comments when asked about a comparison to BCPack.
"I don't think there's any public comparison of Kraken and BCPack. If there was one an unofficial one around, beware it might not include the affects of Oodle Texture. Oodle Texture dramatically changes the way textures compress; we believe it should always be used with textures in games. We're big fans of the Xbox Series X. Their approach is slightly different, but we're glad to see they are taking compression seriously. Oodle Texture works great for the Xbox as well, and we are working with a lot of game companies that are using it on Xbox, so consumers should see lots of games with those huge size and speed savings on Xbox as well. It's up to the individual game developers, as it's not been licensed platform-wide at this time. Game developers are also using Oodle Texture and Oodle Kraken for PC games; most multi-platform devs will be using the same Oodle Texture encoding of their textures for all platforms, it's not platform-specific. On the PC you don't have hardware Kraken, so software Kraken is used on the CPU. To keep up with the fastest SSD speeds this requires several cores; luckily high end PC's also have lots of CPU cores! At RAD we've always just tried to make the best compression possible for games. We plan to continue to work with all platforms in the future."
So far:
Game | PS5 | Xbox Series X | Difference |
Control Ultimate Edition | 25.7 | 43.6 | 51.7% |
Hitman 3 | 61.9 | 64.9* | 4.7% |
Subnautica | 3.8 | 8.3 | 74.4% |
Crash Bandicoot 4 | 20.0 | 22.2* | 10.4% |
Tony Hawk 1+2 | 23.3 | 22.0* | 5.7% |
Marvel’s Avengers | 74.1 | 116.6 | 44.6% |
AC Valhalla | 41.8 | 72.1* | 53.2% |
Watch Dogs Legion | 50.6 | 61.1 | 18.8% |
Immortals Fenyx Rising | 22.3 | 32.9 | 38.4% |
Borderlands 3 | 49.6* | 63.8 | 25% |
Dirt 5 | 50.9 | 63.3 | 21.7% |
Mortal Shell | 4.6 | 8.6 | 60.6% |
NBA 2K21* | 96.6* | 106.6* | 9.8% |
Necromunda: Hired Gun | 15.8 | 35.1 | 75.8% |
Wreckfest | 22.8 | 45.1** | 65.7% |
Total | 563GB* (out of 667GB) | 764.2GB* (out of 802GB) | 30.3% |
*Updated data. Please share your findings if they don't match what you see here or for new comparisons (only native current gen versions).
**Piled files, more like an error, to be changed later when fixed.
Last edited: