App Types

The Xbox One development kit supports exclusive apps and shared apps and reserves some resources for the core operating system.

Exclusive Apps

An exclusive app corresponds to a traditional game title for a console. To ensure high performance, only a single exclusive app can be loaded and executing at any time. While it is executing, an exclusive app has exclusive access to the majority of the resources in the console, including direct access to all hardware. An exclusive app can depend on the full use of six CPU cores, 5 GB of RAM, and 90 percent of the GPU. Exclusive apps are developed in C++, use a system platform exposed via WinRT, and use Direct3D 11.1 for display. In terms of tools, architecture, resource allocation, and design strategy, developing an exclusive app is similar to developing a game for Xbox 360 or a computer running Windows.

Shared Apps

Shared apps, in contrast, run in the shared partition, along with other shared apps and system apps. Multiple shared apps can be running simultaneously, and may be running at the same time as an exclusive app. The shared partition has a smaller set of resources available to it, and will not consume resources currently dedicated to the exclusive partition. When a shared app is running in fullscreen or fill mode it has access to two CPU cores, 448 MB of RAM, and 45 percent of the GPU. Because there are only two CPU cores available, the recommendation for shared apps is to not have more than two active threads (one per core). These CPU and GPU resources are shared with all shared apps and system apps currently running in the shared partition. Shared apps are developed in HTML5 and JavaScript, or with DirectX and C++, and use a system platform exposed through WinRT. In terms of tools, architecture, resource allocation, and design strategy, developing a shared app is similar to developing a Microsoft Store app, but with the advanced user input and differentiating features provided by Xbox One.

See the Xbox One Application Development Kit (ADK) for information on developing shared apps.

Reserved Resources

Xbox One reserves some resources for use by the core operating system and common system services. This reserved allocation provides for the consistent environment and app switching that are design goals for Xbox One. While the system allocation for Xbox One is proportionally larger than it is for Xbox 360, many of the common system services that use the system allocation on Xbox One provide functionality that came from the title’s resource allocation on the Xbox 360; so, the net difference is less than it might seem.

See also

Application Model

Application Model Reference