GDC is an important event in the PC gaming calendar. Apart from giving developers a chance to show off what they’ve been working on, it also represents a great time to highlight the technologies that are going to power the games of tomorrow. One of the games that is going to tap into plenty of new technologies is Forspoken from Luminous Productions, and it’s going to be one of the first games to advantage of Microsoft’s DirectStorage.
DirectStorage aims to significantly improve loading times in games. If you haven’t been obsessing over NVMe SSDs, then you may have missed the buzz around the technology: a high-speed I/O API that is comparable with Windows 10 and Windows 11, only it’s been specifically optimized for Windows 11 as well.
DirectStorage is particularly effective at managing small files, and with it, Forspoken aims to reduce its load time from an average of around 10 seconds down to a single second. You’re still looking at roughly 10 seconds on a SATA SSD for the game, and over 30 seconds when loading from a hard drive, but a single second on a next-gen NVMe SSD would make for an appealing reason to upgrade to the latest tech.
Luminous Productions suggests that DirectStorage is targeting NVMe M.2 SSDs offering throughputs of 5,000MB/s and greater, which means that plenty of first-gen PCIe 4.0 SSDs are capable of delivering the performance needed. The very latest PCIe 4.0 drives are capable of hitting 7,000MB/s, so it’ll be interesting to see if the very best SSDs offer a performance boost, or whether other factors mean that it won’t make much difference. We’ll have to see when the game actually launches.
DirectStorage is capable of accelerating various stages of the asset loading workflow, from straight file loading to optimized decompression and GPU initialisation and asset uploading. A key part of DirectStorage is that data loads can be executed in parallel, with multiple read requests synchronized at the same time for much faster loads times, something that isn’t possible with traditional file access.
In the presentation, the Technical Director at Luminous, Teppei Ono, showed Forspoken loading a selection of scenes made up of around 20,000 files weighing in at 4.5GB. The load times of these scenes were shown across NVMe SSDs, SATA SSDs, and HDD to show what a difference DirectStorage can make when compared to traditional Win32 API. The difference was significant.
An M.2 SSD took just 2.2 seconds to load the first scene using DirectStorage, while a SATA SSD took more than double that at 4.6 seconds. The Hard drive meanwhile clocked in at 24.6 seconds. The second scene had similar figures, with the M.2 SSD taking 1.9 seconds, the SATA drive taking 3.7 seconds and the HDD bringing up the rear at 21.5 seconds.
If you needed a reason to dump your hard drives, this is probably it.
A further breakdown of this scene load times shows that the straight data transfer with compression is just part of the picture though, with the DirectStorage API boasting a file IO speed of 4,839MB/s against the Win32 API on the same drive coming in at 2,826MB/s. The difference in actual load times isn’t quite so marked though, at 1.9s versus 2.1s for the Win32 API.
The presentation did drive home that making optimal use of DirectStorage wasn’t simply a case of plugging it into the Luminous engine and forgetting about it. Significant optimisations were needed to make the most of the technology, and even then there are bottlenecks in how scenes are set up, and how things could be improved further. One of these is the handling of decompression—there are plans for DirectStorage to support direct GPU decompression in the future, which should improve performance even further.
DirectStorage looks like it’s getting the ball rolling for much quicker loading times though, with the potential for almost-instantaneous experiences. There’s still plenty of work to be done, but it helps that Forspoken looks great, which highlights what is possible with the current state of the tech.
Forspoken is due for release on October 11 2022.