Back in March, Microsoft announced what it called the “Xbox Velocity Architecture” for the Xbox Series X, and we were excited about the prospect of streaming data from long-term storage at advertised rates of up to 4.8GB/s (compared to just 68MB/s on Xbox One). Today, Microsoft offers some new details about how, exactly, the company has such high speeds from the hardware’s I/O systems. Much of the speed increase, as Microsoft has already said, comes from the system’s use of NVMe SSD memory, instead of the much slower hard drives of past consoles. That gives the system “2.4 GB/s of raw I/O throughput,” Microsoft says, although we’ve previously noted it’s still possible to expand that memory beyond the more expensive built-in 1TB default.
To extend that speed even further, Microsoft says it’s expanding on the “industry standard LZ decompressor” with “a new, proprietary algorithm designed specifically for texture data called BCPack.” This hardware-accelerated texture-unpacking algorithm can be performed in parallel with the standard LZ decompressor, Microsoft says, increasing the efficiency of the I/O bus without using up precious CPU cores. In fact, without hardware acceleration, Microsoft says that such software-dedicated compression methods “would require more than four Zen 2 CPU cores” to achieve the same results.
Microsoft also went into more detail on the previously announced DirectStorage API. The latest expansion of the DirectX pipeline gives developers “fine-grained control of their I/O operations” on Series X, “enforcing them to establish multiple I/O queues, prioritizing and reducing I/O It’s late,” Microsoft said. That should help with situations where developers need specific data to be displayed from memory right when they need it, before other data is used to be loaded at the same time.
Slice up the textures
The most interesting part of the Series XI/O design, though, may be a new pre-processing method Microsoft calls Sample Response Streaming. This new approach grew out of Microsoft’s analysis of how the GPU uses “each mipmap (or level of detail) of high-resolution textures it loads from memory,” the company said.
“We discovered that the GPU often accesses less than 1/3 of the texture data that needs to be loaded in memory,” Microsoft writes. “With this knowledge, we are able to create and add new capabilities to the Xbox Series X GPU that allow it to load only a certain percentage (a specific level of textual information) into memory, on demand, at a time per GPU session. need data.”
Compared to the old system that could only load a full mipmap at once, Microsoft says the result of this partial loading is “approximately 2.5x efficient I/O performance and memory usage above and beyond raw hardware capabilities in total.” That means in-game textures can render much more detail without forcing the system to wait for additional data to load to the GPU (or “render” once it does).
As we approach the planned holiday season release of the Xbox Series X, the question now becomes how developers will be able to use this new speed in the system’s lineup. That question becomes even more pressing when most of those games are also designed with the very slow I/O system of Xbox One consoles in mind (not to mention PCs with standard hard drives).
We’ll likely get more information on that score when we see some of the first-party games Microsoft has in store for its July 23 game show.
Image listing by Microsoft