Using Console Modes on Xbox One X Dev Kits to Test Your Game

Important Changing console mode requires a reboot. This limitation will be removed in a future release of the XDK.

The Xbox One X dev kit is designed to allow you to test the behavior of your title across a range of console performance and programming characteristics. Using this functionality, you can validate that your title is robust to variations in console performance and so will run well across the family of Xbox One devices.

To understand more about writing titles that are robust across a range of console performance and programming characteristics see Writing Change Resilient Games (Developer Education Materials > All NDA Whitepapers).

The Xbox One X dev kit does this by providing a set of Console Modes. You can set console modes in the following ways:

Important Console Modes represent an approximation of the other Xbox One platforms using an Xbox One X dev kit. They allow you to ensure that your title is robust to differences in performance and allow you to spot check the behavior of your title on other members of the Xbox One family of devices during day to day development. However, they are not a full emulation of an Xbox One or Xbox One S due to the differences in hardware. You should perform final validation of your title’s behavior on the target hardware.

Console Modes

The following table summarizes Console Modes. Please read the notes below the table carefully.

Console Mode Mode Accuracy CPU Frequency (GHz) GPU Frequency (MHz) GPU CUs Title Memory (GBs) Additional 12GB of devkit memory available?
Xbox One X Dev Kit Mode with 40 CUs (Default) GPU CU count matches retail. Overall performance has a small positive delta. 2.3 1172 40 5 to 9 Yes
Xbox One X Dev Kit Mode with 44 CUs Boosted GPU performance compared to retail. 2.3 1172 44 5 to 9 Yes
Xbox One X Test Mode Most accurate GPU & memory performance. Accurate memory profile. 2.3 1172 40 5 to 9 No
Xbox One S Test Mode Approximate 1.75 914 12 5 Yes
Xbox One Test Mode Approximate 1.75 853 12 5 Yes

Notes:

  1. Titles running on Xbox One X have access to up to 9GB (gigabytes) of memory. The default is 5GB of memory. See Configuring Title Memory on Xbox One X for more information on configuring the amount of memory for your title.
  2. To ensure that the Xbox One X Test Mode is as accurate as possible, that mode turns off the additional 12GB of devkit memory. See Configuring and Accessing Extra Memory during Development for more information on the amount of extra memory available in each mode.
  3. Changing Console Modes does not change the Profiling Mode setting. Extra Memory will still be available to your title and to PIX and tools. To turn off extra memory, turn off Profiling Mode. See Configuring and Accessing Extra Memory during Development for more information.
  4. You can determine which console mode your game is running in using the GetConsoleType API.
  5. Both Xbox One X Dev Kit Modes (40CU & 44CU) return CONSOLE_TYPE::CONSOLE_TYPE_XBOX_ONE_X_DEVKIT from the GetConsoleType API. You can determine how many CUs are available to your title using the GetGpuHardwareConfigurationX method on the ID3D12Device object. This returns a D3D12XBOX_GPU_HARDWARE_CONFIGURATION structure containing the GPU frequency, GPU CU count and D3D12XBOX_HARDWARE_VERSION enumeration.
  6. Console modes attempt to emulate the behaviors of the selected console as much as possible. For example, this means that when using Xbox One Test Mode, you will not be able to utilize 4K or HDR as these features are not available on this hardware.