A couple of days ago, word got out that a gamer was running Crysis from a 3090 GPU RAM disk. It worked, but of course, we had questions. Specifically, how well does Crysis 3 run from a RAM disk compared to boring old SSD storage? That's easy enough to test, so we set about downloading Crysis 3, VRAM Drive, and ImDisk Toolkit—those last two were required for the GPU and system RAM disk testing.
We hoped to see some actual benefit from using a RAM disk, but let's set expectations first. A RAM disk—GPU or system RAM, it doesn't matter—isn't for everyone. In fact, there are numerous reasons not to even bother. The biggest drawback is that RAM is volatile: Shut down the application providing the disk, or power off your PC, and whatever was stored on the RAM disk goes poof. That often means you have to engage in workarounds, like installing apps and games to the RAM drive, but then keeping a copy on non-volatile storage. Each time you reboot, you have to restore the files to the RAM drive.
There are other concerns with RAM disk storage, however. The biggest is that it only really helps when your storage drive's performance specifically bottlenecks an application. Many, even most, applications and games simply don't fall into that category, particularly if you're comparing RAM disk storage to a fast SSD. The entirety of Crysis 3 amounts to just 14.2GB, which means a fast NVMe SSD can read the whole game into memory in about five seconds. It's not a particularly taxing storage application, in other words.
But reading the data into memory is only a small part of what a game does. There's a lot of processing of data, which can take quite a bit longer than the loading of data into memory. Actually, many games store data in a compressed format, which has to be decompressed to be useful. DirectStorage and RTX IO may reduce such bottlenecks on future games, but Crysis 3 came out in 2013 and obviously isn't using anything like that.
Finally, before we get to the results, we encountered some anomalies with running Crysis 3 on the latest Windows 10 (release 2004) platform. Specifically, we ended up with a 65 fps performance limit that we couldn't get around at 1080p and 1440p in a consistent manner. Turning off vsync in the game and Nvidia drivers didn't help, but 4K and maxed out settings seem to have mostly gotten around it, with performance in the 70-80 fps range. And with that out of the way, let's look at the results.
Yeah, that earlier bit about Crysis 3 not being very storage limited? This is the result. Launch times varied by about 0.2 seconds in our testing, but some of that might be human error. No one is likely to notice a 0.2 second difference in load times, and the SATA SSD actually outperformed the NVMe SSD. The GPU RAM Disk ended up coming in last, perhaps just due to software overhead. The VRAM Drive ought to perform as well as other storage options, but again, a few tenths of a second aren't particularly meaningful. The time to load a save game was effectively tied.
As for actual in-game performance, there's a bit more variability between runs, with the VRAM Drive coming out just a hair ahead of the two SSDs. Running the game off of system RAM ended up being the slowest, which again doesn't make much sense, but it was consistently nearly 1 fps slower than the other storage options. There were also still occasional stutters on all of the test options (particularly on the first run, where minimum fps dropped into the single digits), so extreme RAM drive storage didn't fix that.
Why Aren't RAM Drives Faster?
The issue with RAM drives is that the applications have no idea they're residing on blazingly fast storage. This is why letting the application or game or even OS manage memory is usually a better overall solution. Think about what we've done here in our testing of Crysis 3.
For the RAM drive, we've allocated a chunk of system memory as storage. When we launch the game, the CPU reads data out of that portion of memory, copies it into another section of RAM, then processes the data in various ways and loads some portions of the data into the GPU memory. There's a lot of wasted resources and effort.
For the VRAM drive, it's even worse. Data gets copied over the PCIe bus to the system RAM when the game launches, then it gets processed there, and eventually, textures and other portions of the game get copied back to the VRAM over the PCIe bus. We're using DDR4-3600 memory that provides 57.6 GBps of bandwidth, but the PCIe Gen3 bus only manages 16 GBps. PCIe Gen4 might help in this case, but even so, we're still generally going to end up being limited by other elements rather than storage throughput.
The takeaway is that, besides being an extremely expensive storage solution, VRAM and RAM disks typically aren't necessary for games. It would be better for games to optimize their use of memory better than to try and pre-allocate a fixed portion of memory—system or GPU—as storage, then copy over files to that drive, and maybe gain some benefit. There are situations where a RAM disk can be more beneficial, particularly in the server realm. But for games like Crysis 3? Not so much.