Well the hardware does support it all, using software CPU solutions.
The problem is decompress this volume of data in realtime use many CPU cores.
Well the hardware does support it all, using software CPU solutions.
Also it forces data to go "storage > RAM > CPU (> RAM) > GPU" and negates any opportunity for "storage > GPU"The problem is decompress this volume of data in realtime use many CPU cores.
You'd need a hardware compression standard. You'd need all game content to be compressed with the same standard and then you have to worry about which standard, and how that decompression is handled. Let's say PS5 outsells XBSX for arguments sake - do you choose Kraken as the method of choice because it's the most popular, or ZLib as the most generic, or ZLib+BCPack because that's the MS choice? Or do you just stick on their a whole 4 core i5 to run whatever decompression you want?What about a PCIE SSD, with a decompression block, that can also be directly connected to a GPU in the fashion of an NVLink type device?
The SSD can function as it currently does in a PC, but it can also be directly accessed like the console SSD's without having to shuttle through a bunch of buses.
What about a PCIE SSD, with a decompression block, that can also be directly connected to a GPU in the fashion of an NVLink type device?
The SSD can function as it currently does in a PC, but it can also be directly accessed like the console SSD's without having to shuttle through a bunch of buses.
The problem is decompress this volume of data in realtime use many CPU cores.
Only 64% over uncompressed data? Where did Sony mention this?As I've said before there is a difference between system level IO compression/decompression of everything coming off the disk, and selective compression/decompression of specific data sets. The consoles do the former, I'm suggesting that PC's can do the latter and therefore the decompression requirements would not have to be as high as the "5 Zen 2 cores" quoted for the PS5. It's a trade off between disk space and CPU requirements that the consoles don't have to make so can simply compress everything.
You get on average 45-64% additional compression with Kraken over the "uncompressed" data feed (which would already contain GPU native compressed textures) according to Sony's own figures.
This is enough to make a 100GB game turn into 200-300GB. It's way too much, you couldn't even fit 2 games on a 500GB NVMe.Are you suggesting that in order to not overburden every system with less than 16 CPU cores, developers would not accept an install footprint of 45-64% larger on the PC? Maybe they wouldn't but that doesn't seem like the impossible scenario that you're painting it to be.
But that way the maximum effective throughput (post-decompression) would be ~7GB/s (theoretical 8GB/s), which is the maximum a 4-lane PCIe 4.0 can do.I'm suggesting that is one possible route that could be taken. Actually I find it unlikely that Microsoft would stipulate a dedicated hardware decompression block in order to gain DirectStorage compliance as I think that if drives need DirectStorage compliance at all, it will be more focused on their DMA capabilities which is likely to be more important to get out into the market. That said, they could encourage the use of a hardware decompression block though some sort of "Direct Storage Ultra/Premium" type certification which does include such a block. Or SSD makers could simply do this off their own backs given that it could be a good selling point in terms of capacity, but then less likely to be tied into how games are packaged.
Not if you use a board that splits the PCIe 4.0 16x connection to the GPU into two 8x connections, which is what many PCIe 4.0 motherboards can do already. This way you'd get ~14GB/s max from I/O and another 14GB/s for the GPU (i.e. same as 16x PCIe 3.0).Such a card would still be limited by a 4x PCIe interface into the CPU on non server based chips unless you were going to use it instead of a GPU which wouldn't make much sense in a gaming system.
Nope, it's easy for devs to support one standard (Kraken on PS5, BCPack on XSX) but what compression will devs use to package their PC games? Or is the expectation that the hardware will support them all? And new ones in the future?
That's where the DirectStorage certification could potentially come in. Microsoft could stipulate that DirectStorage compatible games must have a zdlib/BCPACK compressed distributable and lead the way with UWP games. I'm not suggesting this is overly likely, but it's one potential solution to the problem.
I think this depends on the effort to adopt one or another compression method. Do you need a long time to apply special treatment on the data before compressing to Kraken or BCPack? I find that a bit hard to believe.. It doesn't take too much time from either of us to put a bunch of files into a zip, so why is Kraken and BCPack any different? Neither of them sounds very restrictive.
You'd need a hardware compression standard. You'd need all game content to be compressed with the same standard and then you have to worry about which standard, and how that decompression is handled. Let's say PS5 outsells XBSX for arguments sake - do you choose Kraken as the method of choice because it's the most popular, or ZLib as the most generic, or ZLib+BCPack because that's the MS choice? Or do you just stick on their a whole 4 core i5 to run whatever decompression you want?
You'd lose the compression speed, so the full uncompressed data would have to make the travel instead. Seems like Sony and MS both put this at roughly 50% speed (compared to the compressed data).
Edit: unless it's directly connected to the GPU. Not sure how feasible that'd be.
Only 64% over uncompressed data? Where did Sony mention this?
I have the notion that at least shadowmaps could compress a lot, up to 50:1.
This is enough to make a 100GB game turn into 200-300GB. It's way too much, you couldn't even fit 2 games on a 500GB NVMe.
But that way the maximum effective throughput (post-decompression) would be ~7GB/s (theoretical 8GB/s), which is the maximum a 4-lane PCIe 4.0 can do.
Considering how we'll have 7GB/s NVMe SSDs later this year, this seems like a bit of a dead-end.
Not if you use a board that splits the PCIe 4.0 16x connection to the GPU into two 8x connections, which is what many PCIe 4.0 motherboards can do already. This way you'd get ~14GB/s max from I/O and another 14GB/s for the GPU (i.e. same as 16x PCIe 3.0).
I'm not following. I'm talking about the compression format that games come bundled in for a particular platform, both for digital distribution / installation - which are not necessarily the same. There has been no mention of XSX or PS5 having compression libraries, only realtime decompression.
They also said the effective throughput with Kraken can go up to 22GB/s, meaning a 4:1 rate..Sony have stated the uncompressed throughput of their SSD is 5.5GB/s whereas with compression they expect this to be more like 8-9GB/s effective. That's a 45-64% improvement.
Yes, I reversed the multiplication. I assumed a 64% compression means you're left with a file that is 36% of the original one's size. Isn't this how compression is usually measured?I think something may have gone awry with your maths there.
If you use this broken ASM that doesn't work.I guess he did 10.3 / 12.2 == 0.844, so it's 84% of XBSX, a 16% deficit, rounded to a nicer sounding 15%
Alternatively, 12.2 / 10.3 = 1.18, so XBSX has 18% more TFs.
How so? You have RT units capable of performing however many intersect tests per clock. 1 unit at 10 GHz should be able to process the same number as 10 units at 1 GHz, I'd have thought. How does parallelism help with AMD's implementation of RT in RDNA2?
They wouldn't. I said that in this post.Why would developers adopt any compression format other than the ones already supported by the very powerful decompression blocks on either console?
They wouldn't. I said that in this post.
I'm talking about the dilemma for PC games. Where having options is the problem. Console = one standard = no choice = easy. PC = many options = dilemma.
They also said the effective throughput with Kraken can go up to 22GB/s, meaning a 4:1 rate..
It seems to me that both platforms are limited either by decompressor performance or decompressor -> RAM bandwidth (ideally both at the same time, which would mean they were engineered to match each other).
Yes, I reversed the multiplication. I assumed a 64% compression means you're left with a file that is 36% of the original one's size. Isn't this how compression is usually measured?
Ok, sorry I somehow skipped that part. I agree with you then.
On the PC, I think the path to fast decompression (>7GB/s throughput to match the consoles) won't happen anytime soon. It's either gigantic game install sizes to brute-force transfer speeds of up to 7GB/s, or make use of much larger amounts of RAM like 32GB minimum to cache more data, or a mixture of both.
Reminds of that time Titanfall was released with fully uncompressed audio. >_>Nope, it's easy for devs to support one standard (Kraken on PS5, BCPack on XSX) but what compression will devs use to package their PC games? Or is the expectation that the hardware will support them all? And new ones in the future?
Another performance worry was tackled with sheer disk space - the 48GB install has around 35GB of uncompressed audio. Most games use compressed sound files, but Respawn would rather spend CPU time on running the game as opposed to unpacking audio files on the fly. This isn't a problem on Xbox One - and wouldn't be on PlayStation 4 in theory - as the next-gen consoles have dedicated onboard media engines for handling compressed audio.
"On a higher PC it wouldn't be an issue," points out Baker. "On a medium or moderate PC, it wouldn't be an issue, it's that on a two-core [machine] with where our min spec is, we couldn't dedicate those resources to audio."
They wouldn't. I said that in this post.
I'm talking about the dilemma for PC games. Where having options is the problem. Console = one standard = no choice = easy. PC = many options = dilemma.
Well, my thinking was that said PCIE card would be able to have its data accessed just as it does now, in which case the decompression block could be bypassed, and decompression then handled by the CPU.
However, with a dedicated link to the GPU too, the GPU could have DMA, utilising the decompression block.
I have no idea how feasible this would be though. A quick Google shows a single NVLink bridge as being capable of 50GB/s. So it's at least possible to better the compressed 4.8GB/s of the XSX, which IMO is the only spec a Windows gaming PC needs to meet or exceed. But there are all kinds of technicalities outside the bounds of my tiny mind.
On the other hand, it could still take a number of years before devs follow suit subject to proliferation of HW-decompression support in the market. Meanwhile, the bar for CPU performance/requirements will have been raised pretty darn high with the impending generation.