Microsoft has released its new DirectStorage 1.2 SDK, the latest update to the biggest thing to happen to SSDs since we shifted away from the hoary old Sandforce controller. And the biggest thing to happen in this update… an improvement to the way it works on hard drives.
There’s a level of absurdity there that I can absolutely get on board with. But it does make total sense, and could in fact be one thing that might actually encourage more game developers to jump on the feature sooner rather than later.
DirectStorage is aimed at leveraging the power and performance of solid state drive technology, in conjunction with modern GPUs, to improve the performance of games that utilise the DirectX-based tech. It aims to both lower load times, or even remove them entirely, and also reduce the load on CPUs when it comes to shifting data around a system.
But it doesn’t really work well on hard drives, though that’s kinda the point: it’s not meant to.
Despite SSDs having been around for a long while now in gaming PCs, it’s only been this generation that’s seen them being installed by default in the key games consoles. With most game development being cross platform in nature, the vast majority of titles have still needed to work well on older hard drive technology.
That’s less of an issue now, and there’s a DirectStorage analogue in both Xbox Series X/S and (to a maybe lesser extent) in the PlayStation 5. Which means now is the time to start really taking advantage of those SSDs for gaming.
But there are still a lot of legacy machines out there which use hard drives, and developers aren’t going to want to cut out sections of a potential audience, which might go to explain why we’ve so far only seen a single game actually using DirectStorage, Forspoken.
Fingers crossed that won’t be a thing now as, in response to developers requesting it, Microsoft has added a feature to the DirectStorage 1.2 SDK that enables a game to force the use of buffered files, called Force Buffered IO. DirectStorage previously only opened files in an unbuffered mode, because the SSD interface is quick enough to make that do-able, and it means there aren’t unnecessary copies of files taking up space in the system.
But hard drives take a lot longer to do things and so significantly benefit from files being copied and held in buffers. And so now that is being added to DirectStorage to enable a better level of compatibility with traditional hard drives.
Peak Storage
Best SSD for gaming: the best solid state drives around
Best PCIe 4.0 SSD for gaming: the next gen has landed
The best NVMe SSD: this slivers of SSD goodness
Best external hard drives: expand your horizons
Best external SSDs: plug in upgrades for gaming laptops and consoles
Theoretically that should mean a developer would be able to just enable DirectStorage whether or not a user was rocking an old HDD, and not have to waste time coding in legacy backups for systems using older media.
Though Microsoft is at pains to point out that it’s only there for use with hard drives, and that it’s the developer’s responsibility to use it properly.
“It is the title’s responsibility to know when to use this setting,” reads the latest Dev Blog. “This feature should only be enabled for slower HDD drives that will benefit from the OS file buffering features.”
The only other feature added to version 1.2 is the GetCompressionSupport API. That’s a purely developer-facing feature which makes DirectStorage a little more transparent in terms of the different compression paths it uses, and whether they’re on the GPU, or have fallen back onto the CPU.