Plus details on strict limitations for UWP apps running on the Xbox One.
A few months ago, Microsoft announced that its upcoming Windows 10 Creators Update (currently in testing) would include a new “Game Mode” that improves the performance of interactive titles running under Windows by at least a few percentage points. At the Game Developers Conference this week, Eric Walston from the Xbox Advanced Technology Group explained a bit about how exactly that Game Mode will “focus the existing hardware on providing the best possible gaming experience.”
Currently, on the Windows OS level, a game is just another process among many running simultaneously. With Game Mode, though, Windows will isolate CPU resources to be devoted exclusively to that game process and optimize the GPU to give the game as much attention as possible as well.
On the CPU side, Game Mode allocates a majority of the CPU’s cores to be devoted exclusively to the target game, so an eight-core system might get six gaming-dedicated cores when running in Game Mode (depending on what other processes are running). The system then moves threads devoted to other processes off of those gaming-focused cores, reducing thread contention among the various gaming process threads and improving performance.
On the GPU side, Windows already gives the bulk of processing time to whichever window is in focus at any specific point. In Game Mode, though, the system gives an even greater majority of GPU cycles to the active game, reducing the time available for everything else. Game Mode also gives favorable GPU memory residency to assets associated with the game, resulting in smoother performance and the ability to show more detail on the same hardware, Walston said.
While the user has the final say in whether Game Mode is on or off, developers can use new internal functions to check the system and determine whether it’s worth turning on Game Mode by default for their app.
UWPs on Xbox: Microsoft wants apps, not games
Elsewhere in his talk, Walston also discussed more about the limitations for developers who want to bring Universal Windows Platform (UWP) apps over to the Xbox One. UWP, you may remember, is the recent initiative that lets developers code a single package that will compile and run on both the Xbox and Windows platforms without modification, with full access to Direct3D 12 APIs.
Apparently, though, those apps have to fit in a pretty tight “app performance envelope” to run on the Xbox One. According to Walston, UWP apps and games can only use four the Xbox One’s eight shared CPU cores, 50 percent of the system’s GPU power, and just 1GB out of 8GB of system memory.
Those are pretty big limitations, and Walston allowed that “we know that won’t work for every [Windows] game.” He added that the team is working hard to unlock more resources for UWP, and promised a “developer beta” that will include experiments with unlocking even more Xbox resources for UWP games. That said, games that want to use the full power of the Xbox One will have to use an Xbox Development Kit for the time being.
Overall, though, Walston said that the long-term goals continues to be bringing Windows and Xbox together as a single platform. “When we add new features to Windows, they transfer to Xbox,” he said. “[In 2017], the line between console and PC is continuing to blur… The line dividing Windows and Xbox continues to become more of a gradient of features and functionality.”