Why the amount of RAM devoted to game development doesn’t quite matter for Xbox One.
Following the reveal of the Xbox One in May and with a subsequent presentation at E3, the amount of attention the Xbox One has been receiving is truly worthy of a next-gen console. Of course, a lot of it was negative, first with Microsoft’s unveiling of the device as an all-in-one entertainment solution, emphasizing TV over gaming, and then with the DRM policies that required the console to authenticate online every 24 hours, along with restrictions on used game sales and sharing. Did we mention no self-publishing for the indies?
Of course, Microsoft did a complete turn-around on almost all of its policies, after which former Xbox boss Don Mattrick left the company to join Zynga. It didn’t take long before the self-publishing of indie titles on Xbox Live was allowed as well, and there are indications that Microsoft just may bite the bullet and release a Kinect-less version of the console next year for $400 (it will depend on the reception of the current hardware bundle releasing this November, however).
We’ve heard enough about the Xbox One and its features; how it features a Windows OS kernel that allows it to run apps. Heck, we know about amount of memory this OS takes up, reducing the overall amount of memory reserved for games to 5 GB (out of the 8 GB DDR3 RAM that the console has).
But one thing that no one seems to be talking about is the hypervisor, which Microsoft talked about in its architecture panel following the initial reveal event.
Along with the Xbox OS and Windows OS, there is a third “operating system” running on the Xbox One called the Hypervisor. A hypervisor by definition is actually a software that interfaces with the OS they are installed on. So for example, VMware is a hypervisor, even if we think of it as virtualization software that allows one to run or emulate Linux or Mac OS X within a Windows framework.
The hypervisor itself takes up some memory, and there is talk that the Xbox One’s hypervisor is actually Microsoft’s own Windows Hyper-V 2012, albeit a stripped down version of the same. This requires about 600 MB of memory, so count on the console version to require less. However, the hypervisor on the Xbox One differs greatly from others in that it is interfacing with the hardware directly. What does this mean? It means that the different operating systems installed within the console will each have their own set of resources, and can thus run on dedicated basis. It means that they can access the system’s memory and CPU without any middleware.
We’ve already seen this running with the Xbox One’s ability to switch between games and applications. This is because one set of resources is handling the game while another set is handling the app side of things. A process isn’t being ended – rather, it’s being suspend until you decide to get back to it. Interestingly enough, another advantage of having the software interface directly with the hardware is that Windows apps will be able to run on the Xbox easily, without requiring additional development.
Also, say the Windows side of things tends to crash. Your games will remain unaffected, while order is restored. But the most powerful aspect of the hypervisor is in its ability to allocate resources and memory where it sees fit.
In a way, it’s very much like a PC. If you use the task manager properly, you can set priorities for applications, thus allocating more memory to a process and making it run faster. Other processes don’t get suspended – they simply run slower (depending on how much memory you have). The system will keep a set amount of memory necessary to insure that the operating system doesn’t crash.
With the Xbox One, the games OS and Windows OS can exist autonomously, since they are each interacting with the hardware directly via the hypervisor rather than one being layered on top of the other. This means that if necessary, all memory for the Windows side can just be shifted over to games.
While Windows has access to roughly 2.5 GB (assuming the hypervisor requires 500 MB) and games are allowed 5 GB, the hypervisor could theoretically allocate memory from Windows for use in games. This technically means that if the Windows process is suspended and all resources are allocated for games that developers have up to 7.5 GB to use for game development.
Don’t expect it to be that much though. For all intents and purposes, 6 GB sounds much more realistic. But given the fact that one can’t switch or “snap” apps with a title such as Killer Instinct, it stands to reason that developers are indeed currently using the hypervisor in order to grab more resources for games.
Again, we’ll have to wait and see just what developers are capable of creating with all these new aspects in place. Needless to say, don’t expect either console to be necessarily limited by the amount of RAM allocated to game development any time soon.