Microsoft details how Xbox Series X will load 4.8GB/s from memory


The bulk of the speed increase, as Microsoft has said before, comes from the system’s use of NVMe SSD memory, rather than the much slower-spinning hard drives of past consoles. That gives the system “2.4 GB/s of raw I/O throughput,” Microsoft says, though we’ve noted previously it will also likely make expanding that memory past the built-in 1TB default more expensive.

To extend that speed even further, Microsoft says it’s expanding on the “industry standard LZ decompressor” with “a brand new, proprietary algorithm specifically designed for texture data named BCPack.” This hardware-accelerated texture-unpacking algorithm can be run in parallel with the standard LZ decompressor, Microsoft says, increasing the functional throughput of the I/O bus without using up precious CPU core cycles. In fact, without hardware acceleration, Microsoft says similar software-exclusive decompression methods “would require more than four Zen 2 CPU cores” to achieve the same results.

Microsoft also went into a bit more detail on its previously announced DirectStorage API. That new expansion of the DirectX pipeline offers developers “fine grain control of their I/O operations” on the Series X, “empowering them to establish multiple I/O queues, prioritization and minimizing I/O latency,” Microsoft says. That should help with situations where developers need specific data to show up from memory right when they need it, ahead of other data that used to be loaded at the same time.

Slice up those textures

The most interesting bit of the Series X I/O design, though, might be a new texture-prioritization method Microsoft is calling Sampler Feedback Streaming. This new method grew out of a Microsoft analysis of how the GPU actually uses each “mipmap (or detail level) of the high-resolution textures it loads from memory, the company says.

“We discovered that the GPU often accesses less than 1/3 of the texture data required to be loaded in memory,” Microsoft writes. “With this insight, we were able to create and add new capabilities to the Xbox Series X GPU which enables it to only load the sub portions of a [specific texture detail level] into memory, on demand, just in time for when the GPU requires the data.”

Compared to the old system that could only load a full texture mipmap at once, Microsoft says the result of this partial loading is “approximately 2.5x the effective I/O throughput and memory usage above and beyond the raw hardware capabilities on average.” That means in-game textures can offer that much more detail without forcing the system to wait for additional data to load to the GPU (or “pop in” once it does).

As we approach the Xbox Series X’s planned holiday season release, the question now becomes how well developers will be able to utilize this new speed in the system’s launch lineup. That question becomes even more pressing when most of those games are also being designed with the much slower I/O system of Xbox One consoles in mind (not to mention PCs with standard hard drives).

We’ll probably get a bit more information on that score when we see some of the first-party games Microsoft has in store for its July 23 game showcase.

Listing image by Microsoft



Source link