Bundling Kinect with every Xbox One came at a price - and not just a financial one. Similar to PlayStation 4, two of the Xbox One's eight CPU cores are reserved for system functionality, but the Microsoft console's resources are further restrained by the way 10 per cent of its graphical power is allocated mostly for dealing with Kinect inputs. In the wake of the camera-free console announcement, will those resources now be returned to developers? And how much will it improve the games we play?
In an interview with Polygon, Microsoft's Yusuf Medhi suggests that the resources will be returned, but is predictably short on meaningful specifics. "We are in discussions with our game publishers about what we might do in this space and we will have more to talk about soon," he says, but his staff in the Xbox engineering division have already gone into specifics on the details.
Digital Foundry readers will remember that Microsoft have already committed to lessening the impact of the substantial GPU reservation. "Xbox One has a conservative 10 per cent time-sliced reservation on the GPU for system processing," Microsoft technical fellow Andrew Goossen told us just before the console launch. "This is used both for the GPGPU processing for Kinect and for the rendering of concurrent system content such as Snap mode," he said.
"The current reservation provides strong isolation between the title and the system and simplifies game development. Strong isolation means that the system workloads, which are variable, won't perturb the performance of the game rendering. In the future, we plan to open up more options to developers to access this GPU reservation time while maintaining full system functionality."
Goossen then described how the set-up of the Radeon GPU hardware allowed the engineers to prioritise different loads. In effect, Kinect duties would be treated more like background tasks, with gaming code taking the lead.
"In addition to asynchronous compute queues, the Xbox One hardware supports two concurrent render pipes," he explained. "The two render pipes can allow the hardware to render [game] title content at high priority while concurrently rendering system content at low priority. The GPU hardware scheduler is designed to maximise throughput and automatically fills 'holes' in the high-priority processing. This can allow the system rendering to make use of the ROPs for fill, for example, while the title is simultaneously doing synchronous compute operations on the compute units."
"Returning Kinect's GPU time-slice to developers will help, but other development factors are far more likely to make an impact on game quality."
These comments formed part of a wide-ranging discussion with the Xbox One architects, but it remains unclear as to whether or not the plan as described was put into action. Certainly the notion of freeing up the resource allocation without impacting functionality sounded optimistic at the time, and the current status of the Kinect GPU time-slice remains unknown.
What we do know is that the situation hadn't changed as of March this year almost six months after we spoke to Microsoft staff. Respawn lead engineer Richard Baker told us about possible technical improvements to the Xbox One version of Titanfall, mentioning in passing that the Kinect GPU reservation was still in effect, but indicating that it is still being worked on by the Microsoft engineers.
"They were talking about having it available for launch and I think there were some issues for how it was going to work," Baker told us. "It's not available for launch but we're definitely going to take advantage of that if they give that as an option. And the plan that is they will make that an option, so when it's visible we'll enable it for our game and we should be able to crank up resolution proportionally."
Yesterday, another development source, speaking under conditions of anonymity indicated that the Kinect reservation will be made available to game-makers in the upcoming May/June XDK update for the Xbox One. If true, it will help in addressing a key problem Xbox One has faced on more ambitious titles: lower gaming resolution and the lack of native 1080p gameplay in an age where almost all displays are now based on the full HD standard. There's a lack of GPU power in comparison not just to PS4, but also to increasingly cheap PC graphics technology. We've now reached the point where a Ł100 graphics card like the Radeon R7 260X can meet and even inch ahead of current PS4 results on a great many games, in the process leaving Xbox One for dust.
There's an irony here, too: the 260X has much the same graphics hardware as the Microsoft console - AMD's Bonaire GPU core. There are differences - the R7 260X utilises all 14 compute units built into the architecture, whereas Microsoft disables two, and the R7 260X runs at higher clock speeds - but the gulf in performance is still stark, and overall we have to conclude that returning a 10 per cent GPU time-slice isn't going to close the gap on its own. Developers have been hampered by a PC-like hardware design that is less PC-like than PS4, combined with a less than stellar DirectX driver - a state of affairs that has proved punishing for first-generation software mostly developed with mid-range computers as the target spec.
"Xbox One's current graphical prowess suffers in comparison to both PS4 and entry-level enthusiast PC graphics cards like the Radeon R7 260X."
Xbox One software will get better from a technological standpoint, but it will come down to a range of factors - the most dramatic of which has little to do with Kinect. Development sources indicate that the DirectX driver is improving rapidly, but developers' increased familiarity with the hardware is also paying dividends - a state of affairs exemplified by the new Call of Duty: Advanced Warfare, which even in its pre-production form offers a 50 per cent resolution boost over its 720p predecessor, while also incorporating a wealth of new rendering technologies.
Speaking with Digital Foundry, Trials Fusion lead graphic programmer Sebastian Aaltonen also cautioned on judging the new consoles based on their first-gen software, suggesting that better things are coming:
"Launch games never show the true long-term potential of the consoles. Locked 60fps is a very hard goal for any launch title. Developers needed to start programming their next-gen engines before they have access to the final hardware. Lots of educated guesses must be made, and hitting them all right isn't easy," he said.
"In our case we started at 720p on both next-gen consoles, because we wanted to ensure that our gameplay programmers could fine-tune the game mechanics and physics using a build that was running smoothly. Hitting our target frame-rate (60fps) was more important for us than hitting a certain resolution at the beginning of the project.
"At the end, we got very close to platform parity between the next-generation consoles. Both consoles are running the game at locked 60fps, with identical shader and effect quality and with identical content (textures, models and levels). Rendering resolution is the only difference between the platforms. PS4 renders at slightly higher 1080p resolution than Xbox One (900p)."
Also significant will be the release of DirectX 12, which aims to provide lower-level access to the graphics hardware in both PC and Xbox One. However, in the short term at least, DX12's impact on game development won't lead to any revelatory increases in graphics quality - Microsoft's GDC presentation was clear that the main boost to performance comes from a reduced CPU overhead. Smoother frame-rates are a possibility, but increased resolutions seem unlikely.
Developers we have spoken to seem to be far more impressed with the quality of the GPU documentation they have. The importance of a new graphics API is less significant when you have such in-depth insight into the technological make-up of the hardware itself. The level of detail in the Sony GPU docs in particular is nothing short of immense, and the commonality in GPU architecture between both PS4 and Xbox One means that both consoles benefit. In the longer term though, low-level GPU access certainly has its benefits, as Sebastian Aaltonen explains:
"Feature parity at a resolution deficit looks like the best-case scenario for technically ambitious multi-platform games."
"Microsoft has announced that DirectX 12 has several efficiency improvements over DirectX 11. It seems to be a very well-designed API. As a long-time console developer, I love to get my hands dirty with the low-level resource handling and data synchronisation also on PC. This will allow developers to create games that will never drop frames. On current high-level PC APIs, you can get unexpected stalls, because the GPU driver chooses to do memory reallocation or transfer some data unexpectedly though the slow PCI Express bus," Aaltonen says, also pointing out that Xbox 360 games also saw big improvements over the course of time, as Microsoft opened up the graphics hardware to more adventurous developers.
"Xbox 360 got a big boost from the low-level graphics API. We managed to hit up to 10k draw calls per frame (at 60fps) in Trials Evolution using the low-level Xbox 360 graphics API, as discussed in our earlier interview. We are eagerly waiting to get our hands dirty with DirectX 12. It's definitely possible that Xbox One will also get a performance boost from a new low-level API."
It's been a bumpy launch for the Xbox One, then, and it's easy to place the blame on Kinect for many of the most profound issues: the camera pushed up the price of the hardware but restricted the technical capability of the console, and at the same time game-makers - including Microsoft itself - virtually ignored the camera's unique feature-set in gameplay. The "Input One" media strategy, so closely tied to Kinect integration, also failed to gain traction, perhaps in part because key features just didn't work outside of the USA, but also maybe due to a lack of interest from the core gaming audience that defines the success of a console launch.
The good news is that the games will get better, but the return of the Kinect GPU reservation - while welcome - will probably be just one element in any upturn in technical quality. Familiarity with console designs will produce impressive improvements, but that will be true on PS4 as well. In addition to that, while Microsoft develops DirectX 12, Sony has already deployed its own low-level API - called GNM - in addition to its higher-level DX-like equivalent, GNMX.
Removing Kinect from the equation may bring Microsoft closer to a level playing field from a market perspective, then, but at the end of the day the performance gap may remain. The technical foundations are improving, but it's still going to be all about the quality of the games - and in that respect right now Microsoft needs a phenomenal E3.