You might recall from our last report (that Xbox One actually runs Windows 8) that we have in our possession the complete slide deck of Microsoft's Build 2014 Tech Presentation. We went through it and decided the post some very important information that Media Outlets failed to report. One such faucet is the existence of Xbox One ERA States and the details on just how exactly Xbox One uses it for Process Lifetime Management.
Xbox One uses ERA States for efficient Resource Optimization and Seamless Gaming
Before I go into ERA States, let me just go over what a "Seamless Gameplay Experience" is and why 1080p @60 is just one part of it. Frank Savage in his presentation talked about the changing trends of the current generation (of people ), and how we are moving towards multitasking integrated into our very lives. Since the resources of a console are limited, efficient use of the same becomes of critical importance since you are going to be doing multiple things at once. Say you are playing a game, you pause and switch to listen to music or watch a movie, then resume back into the game. Just how exactly will the Xbox One cope with that without slowing down one thing or another? The answer lies in Process Lifetime Management and more importantly Xbox One's ERA States. Now to be sure, ERA States is a buzzword for resource optimization, and interestingly Frank Savage failed to mention what exactly 'ERA' is an abbreviation for. Although I can take a guess: 'Efficient Resource Allocation"
[The boring part] Now the Xbox One has basically 6 modes of Process Lifetime Management in which the console runs. Lets go over all of them before we get into ERA States. The Shared and Exclusive OS are explained in detail here.
- SharedOS and normal ExclusiveOS: This is your 'normal' gaming state in which a full screen game is running on the console.
- SharedOS and constrained ExclusiveOS: This is what happens when you hit the nexus or home button and the game shrinks to a tile.
- SharedOS and suspended ExclusiveOS: Now you move away to do some online searches and some time later you get a notification that the game has been suspended.
- SharedOS: Fairly simple, when no game is running and you are on the dashboard.
- Low Power Mode 1: Basic Standby
- Low Power Mode 2: Updates and accepts commands such as "Xbox On". Consumes more power than Mode 1.
Xbox One ERA Constrained State and ERA Suspended State
Now here is the juicy part. When a game is constrained, cores are taken away from the game. Since the ExclusiveOS that actually runs the game uses 6 cores at fullscreen mode, it ramps down to just 4 cores. Normally when playing a game, your Xbox One is utilizing Core 0, Core 1, Core 2, Core 3, Core 4 and Core 5. When the console enters the 'ERA Constrained State' where Cores 4 and 5 are freed and their workload shifted to 3 and 4, which its prudent to add, already have their own workload. In Frank Savage's words "...It almost certainly means they are going to be overloaded". Secondly, 50% of the GPU is taken away, so there is no way the game will run at 60fps anymore. However that is irrelevant to us because in most cases, games simply pause when you do this; therefore, you don't really need the GPU horsepower. However Xbox One does give them 100% of network priority so if you are playing a multiplayer game, the game just simply doesn't drop.
This is what happens when the 'time event' or trigger of the suspension message fires. Once the Xbox One enters the 'ERA Suspend State', games have about 1 second to save state. Since after that one second, Xbox One will choke them completely. You might decide to resume playing and in that case you will enter the game via a normal 'resume event' . So that is basically how Microsoft's console handles multitasking to give its owners a 'seamless gaming experience'. Ofcourse it goes without saying, an efficient resource allocation is a must for any console. I have no doubt Sony's PS4 has a an approximately equivalent system, although that should be a bit more relaxed due its higher hardware horsepower.
— Usman Pirzada (@usmanpirzada) April 23, 2014