What To Expect From Next-gen Games

NVMe SSDs can easily be 50 times faster than hard drives for sequential reads and thousands of times faster for random reads. It stands to reason that game developers should be able to do things differently when they no longer need to target slow hard drives and can rely on fast storage. Workarounds for slow hard drive performance can be discarded, and new ideas and features that would never work on hard drives can be tried out. Microsoft and Sony are in pretty close agreement about what this will mean for the upcoming console generation, and they've touted most of the same benefits for end users.

Most of the game design changes enabled by abandoning hard drives will have little impact on the gaming experience from one second to the next; removing workarounds for slow storage won't do much to help frames per second, but it will remove some other pain points in the overall console experience. For starters, solid state drives can tolerate a high degree of fragmentation with no noticeable performance impact, so game files don't need to be defragmented after updates. Defragmentation is something most PC users no longer need to give even a passing thought, but it's still an occasionally necessary (albeit automatic) maintenance process on current consoles.


Not as obsolete as you might have thought. But soon.

Since game developers no longer need to care so much about maintaining spatial locality of data on disk, it will also no longer be necessary for data that's reused in several parts of a game to be duplicated on several parts of the disk. Commonly re-used sounds, textures and models will only need to be included once in a game's files. This will have at least a tiny effect on slowing the growth of game install sizes, but it probably won't actually reverse that trend except where a studio has been greatly abusing the copy and paste features in their level editors.


Clone tool abuse

Warnings to not turn off the console while a game is saving first showed up when consoles moved away from cartridges with built-in solid state storage, and those warnings continue to be a hallmark of many console games and half-assed PC ports. The write speeds of SSDs are fast enough that saving a game takes much less time than reaching for a power switch, so ideally those warnings should be reduced, if not gone for good.


How to spot a console port

But NVMe SSDs have write speeds that go far beyond even that requirement, and that allows changes in how games are saved. Instead of summarizing the player's progress in a file that is mere megabytes, new consoles will have the freedom to dump gigabytes of data to disk. All of the RAM used by a game can be saved to a NVMe SSD in a matter of seconds, like the save state features common to console emulators. If the static assets (textures, sounds, etc.) that are unmodified are excluded from the save file, we're back down to near instant save operations. But now the save file and in-use game assets can be simply read back into RAM to resume the whole game state in no more than a second or two, bypassing all the usual start-up and load work done by games.


Xbox Series X Quick Resume menu

The deduplication of game assets is a benefit that will trivially carry over to PC ports, and the lack of defragmentation is something PC gamers with SSDs have already been enjoying for years—and neither of those changes requires a cutting edge SSD. The instant save and resume capabilities can work just fine (albeit not quite so "instant") on even a SATA SSD, but implementing this well requires a bit of help from the operating system, so it may be a while before this feature becomes commonplace on PC games. (Desktop operating systems have long supported hibernate and restore of the entire OS image, but doing it per-application is unusual.)

But those are all pretty much convenience features that do not make the core game experience itself any richer. The reduction or elimination of loading screens be a welcome improvement for many games—but many more games have already gone to great lengths to eliminate loading screens as much as possible. This most often takes the form of level design that obscures what would have been a loading screen. The player's movement and field of view are temporarily constrained, drastically reducing the assets that need to stay in RAM and allowing everything else to be swapped out, while retaining some illusion of player freedom. Narrow hallways and canyons, elevator and train rides, and airlocks—frequently one-way trips—are all standard game design elements to make it less obvious where a game world is divided.


Level design for 64MB of RAM

Open-world games get by with fewer such design elements by making the world less detailed and restricting player movement speed so that no matter where the player chooses to move, the necessary assets can be streamed into RAM on the fly. With a fast SSD, game designers and players will both have more freedom. But some transition sequences will still be required for major scene changes. The consoles cannot reload the entire contents of RAM from one frame to the next; that will still take several seconds.

SSD As RAM?

Finally, we come to what may be the most significant consequence of making SSDs standard and required for games, but is also the most overstated benefit: Both Microsoft and Sony have made statements along the lines of saying that the SSD can be used almost like RAM. Whatever qualifiers and caveats those statement came with quickly get dropped by fans and even some press. So let's be clear here: the console SSDs are no substitute for RAM. The PS5's SSD can supply data at 5.5 GB/s. The RAM runs at 448 GB/s, *81 times faster*. The consoles have 16 GB of GDDR6 memory. If a game needs to use more than 16 GB to render a scene, framerates will drop down to Myst levels because the SSD is not fast enough. The SSDs are inadequate in both throughput and latency.

It's certainly possible for a level to use more than 16GB of assets, but not all on screen at once. The technical term here is working set: how much memory is really being actively used at once. What the SSD changes somewhat is the threshold for what can be considered active. With a fast SSD, the assets that need to be kept in DRAM aren't much more than what's currently on screen, and the game doesn't need to prefetch very far ahead. Textures for an object in the same room but currently off-screen may be safe to leave on disk until the camera starts moving in that direction, whereas a hard drive based system will probably need to keep assets for the entire room and adjacent rooms in RAM to avoid stuttering. This difference means an SSD-based console (especially with NVMe performance) can free up some VRAM and allow for some higher-resolution assets. It's not a huge change; it's not like the SSD increases effective VRAM size by tens of GBs, but it is very plausible that it allows games to use an extra few GB of RAM for on-screen content rather than prefetching off-screen assets. Mark Cerny has approximated it as saying the game now only needs to pre-fetch about a second ahead, rather than about 30 seconds ahead.


(Not to scale)

There's another layer to this benefit: partially resident textures has been possible on other platforms, but becomes more powerful now. What was originally developed for multi-acre ground textures can now be effectively used on much smaller objects. Sampler feedback allows the GPU to provide the application with more detailed and accurate information about which portions of a texture are actually being displayed. The game can use that information to only issue SSD read requests for those portions of the file. This can be done with a granularity of 128kB blocks of the (uncompressed) texture, which is small enough to allow for meaningful RAM savings by not loading texels that won't be used, while at the same time still issuing SSD reads that are large enough to be a good fit for SSD performance characteristics.

Microsoft has stated that these capabilities add up to the effect of a 2x or 3x multiplier of RAM capacity and SSD bandwidth. I'm not convinced. Sure, a lot of SSD bandwidth can be saved over short timescales by incrementally loading a scene. But I doubt these features will allow the Series X with its ~10GB of VRAM to handle the kind of detailed scenery you could draw on a PC GPU with 24GB of VRAM. They're welcome to prove me wrong, though.

Balancing the System: Other Hardware Features What's Necessary to Get Full Performance Out of a Solid State Drive?
Comments Locked

200 Comments

View All Comments

  • almighty15 - Sunday, June 14, 2020 - link

    It should read "By the time it ships, the PS5 SSD's read performance will be unremarkable – matched by other high-end SSDs ON PAPER"

    In terms of real world performance a 5Gb/s NVMe drive can't beat a 550Mb/s SATA III SSD and yet Anandtech somehow think they'll compete with console?
  • Eliadbu - Saturday, June 13, 2020 - link

    This change might in few years make games to require SSD at certain speed as a base requirement. I'm for it since I feel my NVME SSDs are not helpful in gaming more than my SATA ssd. In many cases you need the consoles to make a move for PCs to enjoy it, I see this as definitely a case of such.
  • vol.2 - Saturday, June 13, 2020 - link

    So, is the PS5 officially the ugliest console ever created?
  • wrkingclass_hero - Sunday, June 14, 2020 - link

    It's up there.
  • wolfesteinabhi - Saturday, June 13, 2020 - link

    with main cpu/gpu being very identical in both camps they are running out of ways to differentiate.

    storage is important though .. but i wish they woukd stick to some common standard ....and over time we get games that can be played on either of the consoles or they can be htpcs in itself that can do a lot more from their h/w than just games .... given current hardware they have ... i feel its a bit wasted when they are only limited to games(that too a very limited amlunt..especially Sony/PS)
  • almighty15 - Sunday, June 14, 2020 - link

    I don't normally comment on article like this but feel I have due to the tone you have regarding PC 'catching up' to consoles.

    That is a long way away, I'm talking years! As I explained on Twitter a 5Gb/s NVMe drives loads games no faster then a 550Mb/s SATA III SSD, and while some of that is down to having to cater to machines that still run mechanical drives most of it is due to Windows just having a file and I/O systems that decades old.

    If we want to send a texture to a GPU on PC this is the 'hardware' path it has to take:

    SSD > system bus > Chipset (South bridge) > system bus > CPU > system bus > main RAM >
    system bus > CPU (North bridge) > PCIEX bus > VRAM

    To get a texture to GPU memory on PlayStation 5 it goes:

    SSD > system bus > I/O controller > system bus > VRAM

    On PC these system buses and chips all run and communicate with each other at different speeds which causes bottlenecks as data is moved through all that hardware.

    On PS5 the path is so much straight forward and the I/O block runs at the same speed as the CPU clock so it's all super faster and efficient.

    And then on PC there's the software side of it, which again is a HUGE problem that Microsoft can't fix with a little Windows update. The hardware on PC can not directly talk to other hardware, meaning your GPU can not directly talk to the storage driver and ask it for a texture, it has to ask Windows, who then ask the chipset driver, who then asks the storage driver for a file.......

    It requires a complete RE-WRITE of Windows storage drivers and kernal which is a process that takes years as they have to send any new idea's over to developers and software owners so they can do their own testing and plan patching their existing software.

    When Apple updated their file system for SSD it them 3 years! And they way less legacy hardware and hardware configurations to worry about then Micorosft.

    There is currently nothing in the develop changes about a new version of Windows or a new file system in the works meaning that it's at least 3-4 years away.

    This article doesn't even scratch the surface as to why storage and I/O is so slow and bottlenecked on PC and make it out to be like it's a simple fix to get PC SSD's performing like consoles.

    PC's will catch up, they always do, but do not let articles like this one trick you in to thinking it's a quick fix as it most certainly isn't.
  • eddman - Sunday, June 14, 2020 - link

    As mentioned in this very article, they have this new DirectStorage API on XSX and plan to bring it to windows. They haven't released any specific details but it might even be some sort of a direct GPU/VRAM-to-storage solution.

    Whatever it is, it's surely bound to improve the file transfer performance, and since it'd be part of the Directx suite, developers should have an easy time taking advantage of it.
  • Billy Tallis - Sunday, June 14, 2020 - link

    Your description of how the data paths differ between a standard PC and the PS5 is wildly inaccurate.
  • eddman - Sunday, June 14, 2020 - link

    Yea, the path is wrong. For one, RAM is not connected to the CPU through the system bus. It's something like this for desktops, IINM:

    1. Intel/Ryzen (SSD connected to the chipset):
    SSD > PCIe > Chipset > system bus (DMI/PCIe x4) > CPU > memory channel > RAM > memory channel > CPU(*) > PCIe x16 > VRAM

    2. Ryzen (SSD connected directly to the CPU):
    SSD > PCIe > CPU > memory channel > RAM > memory channel > CPU(*) > PCIe x16 > VRAM

    (*) at this step, perhaps the CPU has already done the I/O calculations, so the data goes directly from the system RAM (through the memory controller and then PCIe x16) to the VRAM (without wasting CPU cycles)?

    (I don't know that much about hardware at such low levels, so please correct me if I'm wrong.)

    With a GPU-to-storage direct access, it should look like these:
    1. SSD > PCIe > Chipset > system bus (DMI/PCIe x4) > CPU(!) > PCIe x16 > VRAM
    2. SSD > PCIe > CPU(!) > PCIe x16 > VRAM

    The second option doesn't look much different from the PS5.

    (!) just passing through CPU's System Agent/Infinity Fabric with minimal CPU overhead.
  • Billy Tallis - Sunday, June 14, 2020 - link

    It is important to make a distinction between when data hits the CPU die but doesn't actually require attention from a CPU core. DMA is important! Data coming in from the SSD can be forwarded to RAM or to the GPU (P2P DMA) by the PCIe root complex without involvement from a CPU core. The CPU just needs to initiate the transaction and handle the completion interrupt (which often involves setting up the next DMA transfer).

    On the PS5, there will also be a DMA round-trip from RAM to the decompression unit back to RAM, with either a CPU core or the IO coprocessor setting up the DMA transfers.

Log in

Don't have an account? Sign up now