Digital Foundry Article Technical Discussion [2021]

Status
Not open for further replies.
Are you sure?


Are you sure?



I can't speak for the console versions of Cyberpunk, but there's a Oodle logo on start up for PC that has been there since launch. They are using some sort of Ooodle compression, I always assumed it was Kraken but I'm not sure it is ever explicitly stated.
Kraken has nothing to do with Oodle. Kraken compression is the new standard way to compress anything on PS5 (replacing zlib, but they can still use zlib on PS5) but you need rather powerfull hardware to do it (which PS5 has). They won't allocate CPU or GPU ressource to use Kraken during gameplay which is why there is no point to use that on PS4 just to gain 10% compression. Some might use Kraken for the main loadings by allocating CPU or GPU ressources but Cyberpunk certainly won't use Kraken during gameplay as the game already has plenty of framerate drops because of weak APUs.
 
There is no Kraken texture format. Kraken is replacing Zlib compression.
It's a compression format.


Kraken has nothing to do with Oodle.
It's literally named Oodle Kraken.


Kraken compression is the new standard way to compress anything on PS5 (replacing zlib, but they can still use zlib on PS5) but you need rather powerfull hardware to do it (which PS5 has). They won't allocate CPU or GPU ressource to use Kraken during gameplay which is why there is no point to use that on PS4 just to gain 10% compression. Some might use Kraken for the main loadings by allocating CPU or GPU ressources but Cyberpunk certainly won't use Kraken during gameplay as the game already has plenty of framerate drops because of weak APUs.
This is still completely wrong. Kraken decompresses faster than zlib so having a weak APU is precisely a good reason for adopting it.

atyultk.png




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.
(...)
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.




You're doing a weird flex over this @Globalisateur, repeating info that directly contradicts with the official documentation.
Kraken is neither specific to the PS5, nor is it only available for a hardware decompressor, nor is it impossible to use by CDPR on Cybepunk, nor is it a bad idea to adopt in Cyberpunk due to the low end CPUs of last gen consoles.
I don't know if CDPR adopted it or not. Some PS4 games already gained a immensely from recompressing their textures into Kraken format, so if Cyberpunk has texture/model streaming issues then it's a good candidate for adopting it.

 
CP2077 can load between large environments with basically no loading at all, probably oodle/kraken helps out alot with that. Maybe the confusion comes from a license to the format coming with every PS5 (or something like that).
 
You are probably both right. Cerny discussed this bit as a feature requested by developers. There is a custom programmable chip that is optimized specifically for kraken and the likes. Kraken is probably back supported to the PS4, but a dedicated decompression chip in the PS5 makes it even more of a no brainer.
 
You are probably both right. Cerny discussed this bit as a feature requested by developers. There is a custom programmable chip that is optimized specifically for kraken and the likes. Kraken is probably back supported to the PS4, but a dedicated decompression chip in the PS5 makes it even more of a no brainer.

its kinda similar to ML discussion. Oodle kraken (and other formats) is possible on a range of hw but dedicated silicon helps.
 
Kraken has nothing to do with Oodle. Kraken compression is the new standard way to compress anything on PS5 (replacing zlib, but they can still use zlib on PS5) but you need rather powerfull hardware to do it (which PS5 has). They won't allocate CPU or GPU ressource to use Kraken during gameplay which is why there is no point to use that on PS4 just to gain 10% compression. Some might use Kraken for the main loadings by allocating CPU or GPU ressources but Cyberpunk certainly won't use Kraken during gameplay as the game already has plenty of framerate drops because of weak APUs.
Kraken's compression advantage is nice, but it's decompression advantage is the real win for realtime. It's a multithreaded decompressor, which is the best way to get extra performance with a CPU with weak single threaded performance like a Jaguar. That's why the official Oodle Kraken website specifically mentions Jaguar cores and PS4/Xbox one. Why wouldn't they use the CPU to decode Kraken on those systems? They already use CPU to decode compressed files (usually ZLib) on PS4 and XBOne, and Kraken is a ZLib replacement. If you can decompress in less time using Kraken, you would actually be using less CPU to decompress, which is good for loading, but also good for performance.
Oodle Kraken Website said:
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.

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.
 
You are probably both right. Cerny discussed this bit as a feature requested by developers. There is a custom programmable chip that is optimized specifically for kraken and the likes. Kraken is probably back supported to the PS4, but a dedicated decompression chip in the PS5 makes it even more of a no brainer.
I don't think their both right.
I believe Cerny actually said that a lot of devs was using it and there was a buzz around it. Paraphrasing. So they implemented it in hardware.
By definition that means they was using it prior to PS5.
Anyway this is an odd conversation as the information has been posted in here and I can't see why it's even debatable.
It's not PS5 exclusive, never was, and isn't now.
 
I understand the argument of not being too overly critical and clickbaity, but isn't DF going the other way around with being overly positive? They simple don't criticize anyone anymore even when deserved, and giving undeserved praise.
It's becoming strange hear them talk.
 
I understand the argument of not being too overly critical and clickbaity, but isn't DF going the other way around with being overly positive? They simple don't criticize anyone anymore even when deserved, and giving undeserved praise.
It's becoming strange hear them talk.

Really? I think they've been critical of just about everyone. Some recent examples:

Sony - lack of VRR / HDMI 2.1 features
Microsoft - "improved" GamePass games
AMD - poor RT performance
Etc.

They're usually very fair with their criticisms.
 
Last edited by a moderator:
Most recent :
Gamepass PC - their not happy with it to put it lightly.... (if you watched their most recent DF direct)
 
  • Like
Reactions: HLJ
Extra odd when it came up because of these "streaming optimizations":

upload_2021-4-5_8-7-14-png.5393
They should have compared with the previous Pro version (1.1?). I am pretty sure the game was already very much like this before compared to the Xbox game.
 
Kraken's compression advantage is nice, but it's decompression advantage is the real win for realtime. It's a multithreaded decompressor, which is the best way to get extra performance with a CPU with weak single threaded performance like a Jaguar. That's why the official Oodle Kraken website specifically mentions Jaguar cores and PS4/Xbox one. Why wouldn't they use the CPU to decode Kraken on those systems? They already use CPU to decode compressed files (usually ZLib) on PS4 and XBOne, and Kraken is a ZLib replacement.

Are you sure it's CPU-zlib decompression rather than PS4/XBO's hardware-zlib decompression?

There are quite a few missing pieces here. Even if you could decompress zlib-data faster in PS4/XBO CPUs faster than the hardware - which would make the decompression hardware on both consoles a massive fail and I think that would have leaked by now - but even if, by utilising the hardware decompression you can still use the mighty (lol) power of PS4/XBO CPUs for non-decompression tasks whilst the hardware decompressor is doing it's thing.

Whilst the game is streaming and decompressing textures, it's also streaming audio and geometry data, and building the environment around you are you're moving through the city. This involves purging peds/cars far away and creating new ones in the distance. The CPUs are garbage and I think you would want to distribute as much work off the CPU as possible.
 
It's not Kraken as the PS5 version (not tested here) runs exactly the same code as the Pro version that doesn't support Kraken.

Are you sure about this ? The only thing from the Oodle suite that should be different between PS4 and PS5 is that PS5 does the decompression with custom hardware. The compression and the resulting compression files should be the same.
Where does it say or indicate anything else?
A totally different question is if the PS5 in bc can leverage the hardware decompressor? You can have CP2077 on an external usb drive, so the bc data path might circumvent the hardware decrompressor, never seen anything about that.
 
Are you sure it's CPU-zlib decompression rather than PS4/XBO's hardware-zlib decompression?

There are quite a few missing pieces here. Even if you could decompress zlib-data faster in PS4/XBO CPUs faster than the hardware - which would make the decompression hardware on both consoles a massive fail and I think that would have leaked by now - but even if, by utilising the hardware decompression you can still use the mighty (lol) power of PS4/XBO CPUs for non-decompression tasks whilst the hardware decompressor is doing it's thing.

Whilst the game is streaming and decompressing textures, it's also streaming audio and geometry data, and building the environment around you are you're moving through the city. This involves purging peds/cars far away and creating new ones in the distance. The CPUs are garbage and I think you would want to distribute as much work off the CPU as possible.

How much decompression performance can the X1 or PS4 readily use? The X1 decompression hardware has a max throughput of 200 MBps. The PS4 with Kraken can be close to 350 MBps. I imagine the X1 can at least come close to that rate.

I can see the HDDs acting as a bottleneck when streaming textures. But then again the RAM on the consoles can provide way more data than the hardware can readily decompress.

Kraken wasn’t around when X1 and PS4 were launched so I wouldn’t consider it a failure on MS or Sony’s part that someone released a compression scheme that allows a jag core to easily outpace the custom hardware.
 
Last edited:
Are you sure it's CPU-zlib decompression rather than PS4/XBO's hardware-zlib decompression?

There are quite a few missing pieces here. Even if you could decompress zlib-data faster in PS4/XBO CPUs faster than the hardware - which would make the decompression hardware on both consoles a massive fail and I think that would have leaked by now - but even if, by utilising the hardware decompression you can still use the mighty (lol) power of PS4/XBO CPUs for non-decompression tasks whilst the hardware decompressor is doing it's thing.

Whilst the game is streaming and decompressing textures, it's also streaming audio and geometry data, and building the environment around you are you're moving through the city. This involves purging peds/cars far away and creating new ones in the distance. The CPUs are garbage and I think you would want to distribute as much work off the CPU as possible.

Sure, it may not be desirable for things that need to be streamed in quickly, but many games these days still have long loading times where nothing is happening other than loading in the assets. In these situations rather than having the CPU sit mostly idle, you could leverage it to read in assets more quickly assuming your using some form of decompression that can take advantage of multiple cores.

So, games like say Dark Souls or Bloodborne. Even something like God of War (2016) or Gears 4 where level loading was hidden by non-interactive graphical transition scenes would likely benefit on the previous generation consoles.

OTOH - something like Cyberpunk 2077 may not benefit from it since it's a seemless open world that relies on assets being streamed in quickly. Speaking of which, if they were using Kraken in CP 2077 and were mostly testing on PS5/XBS devkits and PC prior to launch, it might help explain why the previous gen base consoles were so dire when it came to asset loading while roaming. Although I'm not sure this would explain why it's so much worse on PS4 than XBO. That said, considering how intensive that game is, hopefully they weren't silly enough to use Kraken in it for the previous gen. base consoles ... then again crunch time + new console launch = a lot of bad decisions were made.

Regards,
SB
 
Are you sure it's CPU-zlib decompression rather than PS4/XBO's hardware-zlib decompression?

There are quite a few missing pieces here. Even if you could decompress zlib-data faster in PS4/XBO CPUs faster than the hardware - which would make the decompression hardware on both consoles a massive fail and I think that would have leaked by now - but even if, by utilising the hardware decompression you can still use the mighty (lol) power of PS4/XBO CPUs for non-decompression tasks whilst the hardware decompressor is doing it's thing.

Whilst the game is streaming and decompressing textures, it's also streaming audio and geometry data, and building the environment around you are you're moving through the city. This involves purging peds/cars far away and creating new ones in the distance. The CPUs are garbage and I think you would want to distribute as much work off the CPU as possible.
Hmm... That's an interesting question. Did the hardware decompressors increase in speed when PS4 pro and One X were released? Because plenty of games have decreased load times that correlate pretty well with the bump in CPU speed.
 
Sure, it may not be desirable for things that need to be streamed in quickly, but many games these days still have long loading times where nothing is happening other than loading in the assets. In these situations rather than having the CPU sit mostly idle, you could leverage it to read in assets more quickly assuming your using some form of decompression that can take advantage of multiple cores.
Cyberpunk is an open world city game, it needs to stream in while you are playing. This is definitely an issue that is more pronounced whilst streaming (versus loading); just look at the multi-second hitches DF demonstrated in the Xbox version.

Hmm... That's an interesting question. Did the hardware decompressors increase in speed when PS4 pro and One X were released?

Why're you asking me?, it was you that said the game is using the CPU for zlib decompression! :???:
 
I wasn't talking about a specific game, just general performance differences between ZLib and Kraken based on publicly available information. Does anyone know the performance of the compression hardware in PS4/Xbox One? What about real world IO performance from their HDDs. There could be scenarios where a software decompression system could be faster in real world terms if the compression ratio is better because the IO is so limited.
 
Status
Not open for further replies.
Back
Top