The evolution of Xbox One - as told by the SDK leak
19 months of behind-the-scenes engineering encompassing the rise and fall of Kinect and a revised focus on gaming performance.
The recent leak of the Xbox One development tools - along with the accompanying documentation - gives us a fascinating insight into the creation and evolution of Microsoft's latest console. Recent innovations, such as the release of a seventh CPU core for game developers, have come to light owing to the leak, but the docs contain much more in the way fascinating background information. In fact, they give us an entire timeline of the system's development from the moment alpha devkits first arrived with developers way back in April 2012, all the way through to refinements and enhancements added as recently as November 2014.
While we can't dig into every specific API and optimisation created and added across this 19-month period, thankfully the work of summarising Xbox One's key additions has mostly been done for us. The 'What's New' section of the documentation doesn't just highlight the most recent changes to the system, it incorporates links to the equivalent section from each and every SDK revision from the system's inception, highlighting milestones and changes that tell us how the system came to be, how the system was improved - and hinting at features yet to be.
What's also fascinating is the change in focus as we progress through the timeline, reflecting the change in marketing and the loss of Kinect as an in-the-box staple - engineering effort on the motion control 'NUI' natural user interface falls off a cliff in favour of GPU and performance profiling optimisations, many of which actually come at the expense of the camera's feature-set.
What's also clear is that Microsoft's GPU issues were very much a known quantity internally - even before the launch. Perhaps the biggest surprise of the SDK notes - beyond the seventh CPU core revelation - is the existence of two separate graphics drivers for the Xbox One's onboard Radeon hardware: we know about the mono-driver - Microsoft's GPU interface designed to offer the best performance from the hardware, but there was also the user-mode driver (UMD) - something that you'll see referenced throughout this piece.
A well-placed source informs us that while it was an Xbox One-specific driver, it had a lot of additional checking and error-catching, designed to help debugging and to get software up and running on the console as soon as possible - at the expense of raw performance. But we're getting ahead of ourselves here. Let's begin at the beginning.