While modern consoles have multi-core designs, not all of those cores are available to developers. The PS3, for example, reserved a core for security and encryption and the latest offerings from Sony and Microsoft both have restricted cores dedicated to the operating system. In the case of the Xbox One, however, it appears Microsoft is now allowing games to use some of that cordoned power.
Eurogamer’s Richard Leadbetter poked around the documentation for the Xbox One software development kit (SDK) leaked last month and discovered that while two of the console’s eight cores are reserved for system purposes, in November Microsoft changed things around so that as long as a developer is willing to forgo Kinect functionality, it can access “50 to 80 per cent of a seventh processing core”.
There’s another catch though — the load on this core can change based on what the Xbox is doing at that time. From the Eurogamer piece:
…the amount of CPU time available to developers varies at any given moment — system-related voice commands (“Xbox record that”, “Xbox go to friends”) automatically see CPU usage for the seventh core rise to 50 per cent. At the moment, the operating system does not inform the developer how much CPU time is available, so scheduling tasks will be troublesome.
This means you can’t rely on the core for anything that’s performance-critical, however, for less demanding tasks, this extra power could be used and result in a general, across-the-board boost. Of course, it is very dependent on what those less important tasks are. The Eurogamer article notes that improvements related to this change should come in a “future SDK update”.
I’m not familiar with how much control developers have over assigning specifics tasks or threads to particular cores on the Xbox One, but in order to get the most benefit from this change, they will need a way to prioritise and control which CPU cores do what.