Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Data Storage Microsoft

DirectStorage Shows Just Minor Load-Speed Improvements In Real-World PC Demo (arstechnica.com) 23

Andrew Cunningham writes via Ars Technica: 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 a monstrous jump from the days of waiting for a PlayStation 2 to load giant open-world maps from a DVD.

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.

This discussion has been archived. No new comments can be posted.

DirectStorage Shows Just Minor Load-Speed Improvements In Real-World PC Demo

Comments Filter:
  • What is this shit headline? Just say what the talk said, that they overcame one bottleneck only to find others in the way of max theoretical efficiency. You know, the sort of stuff that happens all the time in tech.
    • Also you have to change your fundamental assumptions for loading to take full advantage.

      If your CPU takes 1.0 seconds and NVMe used to take 1 second and your CPU was delivering say... 3:1 compression then that 1s of CPU is worth it because the NVME would have taken 3s to stream the uncompressed data. So it's faster to stream compressed data, decompress for 1 second and transfer to the GPU.

      Now, with directstorage in your toolbox if the NVMe takes 0.3s * 3x the data and you don't compress the data (or select

      • Not all of the features are supported yet either. Eventually the decompression will be offloaded to the GPU or some other accelerator. I agree the headline is a shit headline.

    • Tech reviews on cpus jump all over a 10% difference in benchmarks like it's a huge advantage or noticeable.
  • by bloodhawk ( 813939 ) on Thursday March 24, 2022 @10:02PM (#62387951)
    Struggling to see what this article is about as their focus is all over the place, Storage transfer has always been just one of the bottlenecks, DirectStorage significantly reduces that bottleneck of moving content from storage to GPU, it doesn't make your storage faster or your GPU faster, still it is valuable and even at 10% increase it is significant.
    • by fazig ( 2909523 )
      There's been a lot of unreasonable assumptions around DirectStorage on the internet.
      One of the assumptions being that DirectStorage would significantly improve frame rates in games. (Which of course could be true if the software design went against the many modern solutions developers already came up with).

      In the end it's good to see some start where practical numbers are involved. It shows that DirectStorage is a step in the right direction regardless, even if it is not the Holy Grail that some of the v
      • One of the assumptions being that DirectStorage would significantly improve frame rates in games. (Which of course could be true if the software design went against the many modern solutions developers already came up with).

        I take it you've never played a game quickly? Framerate drops and stutters are quite evident when you quickly race through a game which streams assets. If you're super lucky you can even get to an area before it's finished loading, but mostly you can just tell a game is loading as your CPU is franticly diverted to I/O activities.

        The thing is, these issues are even worse than constant performance drops. It's one thing to have a game play at 45fps, quite another for one to play at 90fps and then suddenly drop

        • by fazig ( 2909523 )
          I've been working in game development for the last 3 years. And since the pandemic effectively killed my PC building side business, I've dedicated even more time to this field.
          As part of this, I've helped a lot of junior game devs to get a hang of software development using Unreal Engine's Blueprint and eventually Unreal's implementation of C++. For junior devs and some indy devs this involves to field-test their stuff, doing code reviews if they're willing to provide it, and the likes. Suffice to say, I'v
    • by AmiMoJo ( 196126 )

      Loading speeds are also not the best metric here. This tech would be used for things like in-game loading of data as the player moved through the world, avoiding the need for it to pass through the CPU and main memory, which in turn reduces the load on those resources and can eliminate stuttering.

      This kind of thing may also see enterprise use. Nvidia already produce a RAID card that performs parity calculations on a modified GPU, with data transferred directly from NVMe storage to the GPU's memory before be

    • by Rhipf ( 525263 )

      still it is valuable and even at 10% increase it is significant

      10% by itself isn't necessarily significant. If you are getting a 10% decrease in load times that take 100 seconds you are saving 10 seconds. If you are getting 10% decrease in load times that take 0.0001 seconds you are only saving 0.00001 seconds. You can rather easily tell when you save 10 seconds but I dare you to tell the difference between 0.0001 seconds and 0.00009 seconds.

      These are only example numbers but hopefully you will see that whether a 10% increase/decrease is significant depends on the nume

  • It's a Square Enix game. And Square Enix has historically sucked at PC engines. Even in cases where they didn't even make the engine. The current Final Fantasy Pixel Remasters all use Unity. They somehow have graphical tears and an uneven framerate on PC, and graphically, they're minor updates to SNES-era games. The Final Fantasy VII Remake used Unreal. It also had serious graphical problems on PC. The less said about some their other in-house engines, the better.

    Luminous Engine, the engine being used in th

  • There's multiple bottlenecks and systems involved. Improving one should only lead you expect marginal improvement.

  • Looking at the percentages it's already a good improvement, and it could matter more for other titles, games using asset streaming especially. Also "GPU decompression is next on our roadmap" https://devblogs.microsoft.com... [microsoft.com] and that will probably have a much more pronounced effect.
  • It's a Square Enix engine. They are not known for their performant engines (see the hilariously bad Stranger of Paradise Final Fantasy Origin where making all the characters bald with mods makes it run 4x faster).

    The first key takeaway here is that you can move data from the SSD to the GPU 70% faster. This could be done in parallel with all your CPU bound loading. Of course with various interactions you're never going to get that pure 70%.

    But the second key benefit is that your CPU is spending almost zero

    • by Sarusa ( 104047 )

      Sorry, to reply to my own post, but I meant to include RAM as a big part of the shuffle.

      Take the target case here of CPU doing tons of stuff already (It's an open world game), and now the player's going at high speed in some direction and it needs to stream in a bunch of new geometry and textures.

      Normal use: CPU keeps doing everything it's already doing. Starts a bunch of transfers from SSD to main memory through the CPU, then from main memory to GPU as those finish. All these transfers compete a bit fo

      • I think you've danced around what I came to say, so I'm replying to your post.

        Without DS: data move from storage to ram, then from ram to gpu.

        WIth DS: data move from storage to gpu.

        The speed/savings has absolutely nothing to do with the speed of the storage. No matter what, you're still copying from storage at storage speeds.

        The speed/savings is purely in skipping the to ram/from ram stage -- and sure the cpu effort as you've indicated.

        So like always, if the CPU was your slow component, that's a little bet

  • News at 11. No seriously how is this a surprise. Precisely no API developed for PC graphics has ever shown a dramatic leap in performance on the first release. All of them had been optimised and performance squeezed out of them over years of development.

    Wait did I say first release? I meant to say "unreleased". The game doesn't even come out for another 6 months yet and here we are talking benchmarks as gospel, it's silly.

Real Programmers don't eat quiche. They eat Twinkies and Szechwan food.

Working...