Microsoft’s DirectStorage API promises to speed up game-load times, both on the Xbox Series X/S and on Windows PCs (where Microsoft recently exited its developer-preview phase). One of the first games to demonstrate the benefits of DirectStorage on the PC is Square Enix’s Forspoken, which was shown off by Luminous Productions technical director Teppei Ono at GDC this week. As reported by The Verge, Ono said that, with a fast NVMe SSD and DirectStorage support, some scenes in Forspoken could load in as little as one second. That is certainly an improvement over the CD and DVD load times of yesteryear.
As a demonstration of DirectStorage, though, Forspoken‘s numbers are a mixed bag. On one hand, the examples Ono showcased clearly demonstrate DirectStorage loading scenes more quickly on the same hardware, compared to the legacy Win32 API—from 2.6 seconds to 2.2 seconds in one scene, and from 2.4 seconds to 1.9 seconds in another. Forspoken demonstrated performance improvements on older SATA-based SSDs as well, despite being marketed as a feature that will primarily benefit NVMe drives—dropping from 5.0 to 4.6 seconds in one scene, and from 4.1 to 3.4 seconds in another. Speed improvements for SATA SSDs have been limited for the better part of a decade now because the SATA interface itself (rather than the SSD controller or NAND flash chips) has been holding them back. So eking out any kind of measurable improvement for those drives is noteworthy.
On the other hand, Ono’s demo showed that game load time wasn’t improving as dramatically as the raw I/O speeds would suggest. On an NVMe SSD, I/O speeds increased from 2,862MB/s using Win32 to 4,829MB/s using DirectStorage—nearly a 70 percent increase. But the load time for the scene decreased from 2.1 to 1.9 seconds. That’s a decrease that wouldn’t be noticeable even if you were trying to notice it.
The Forspoken demo ultimately showed that the speed of the storage you’re using still has a lot more to do with how quickly your games load than DirectStorage does. One scene that took 24.6 seconds to load using DirectStorage on an HDD took just 4.6 seconds to load on a SATA SSD and 2.2 seconds to load on an NVMe SSD. That’s a much larger gap than the one between Win32 and DirectStorage running on the same hardware.
Note that this is just one game, and we’ll likely see a wider range of results as more developers implement DirectStorage in their titles and as Microsoft improves the technology. Removing other CPU-related bottlenecks, including moving asset decompression from the CPU to the GPU, could improve DirectStorage’s performance advantage even further. GPU decompression isn’t supported in the PC version of DirectStorage yet, but Microsoft claims that the feature is “next on our roadmap.”
Listing image by Western Digital
https://arstechnica.com/?p=1843320