The February 2018 release of the Xbox One XDK from Microsoft contains the following new features, tools, and documentation. For features that shipped in a previous release of the Xbox One XDK, see the What’s New document for that release, available from Features Introduced in Previous Releases.
Sections:
The most recent release notes for and updates to the Xbox One XDK can always be found on Xbox One XDK Software Downloads on the Xbox Game Developer (XGD) site. For access, log in with your ID and password on https://developer.microsoft.com/en-us/games/xbox/partner/index; on the left hand table of contents select Xbox One Development, and then select Software Downloads.
You can check with your account manager for the latest information about upcoming Xbox One XDK releases.
The February 2018 Xbox One XDK contains the latest tools and libraries for Xbox One.
The Xbox One Developer Roadmap on XGD has been updated with the latest projections of developer-facing feature work. The roadmap is intended to help developers plan their implementation schedules around upcoming feature and tooling efforts for the Xbox One console and related services.
To learn about new updates to Xbox Live, see the What’s New topic in the documentation for the Xbox Live SDK. You can find this documentation under your XDK install location at %XboxOneXDKLatest%\Documentation\XboxLiveSDK.chm. You can also download the Xbox Live help file from the Xbox One XDK Documentation page.
Support for Visual Studio 2017 version 15.5
Version 15.5 of Visual Studio 2017 is now supported for XDK development. The XDK includes an updated set of CRT headers and libraries that correspond to the compiler and linker toolset that is included in the 15.5 release. All projects built with Visual Studio 2017 will use these new headers and libraries by default. The EnableLatestXdkHeaders msbuild property allows you to opt out of using these new headers and libraries.
Sample-based Profile Guided Optimization
Sample-based Profile Guided Optimization (SPGO) is a runtime optimization technology that leverages profiling data collected while running important or performance-centric user scenarios to build an optimized version of the title. SPGO performs many of the same optimizations that traditional Profile Guided Optimization (PGO) does. However, SPGO is much simpler and more usable and has a significantly lower barrier to adoption.
XbReboot now supports wake-on-LAN
The flags listed in the following table have been added to the Reboot (xbreboot.exe) command-line tool to support wake-on-LAN.
| Option | Description |
|---|---|
| /P | Puts the console into Connected Standby. The dev kit must have the power mode set to Instant On to be placed into Connected Standby. |
| /W | Attempts to wake the dev kit from Connected Standby. If the Xbox Live device ID is specified, Smartglass wakeup will be used which relies on UDP broadcast. This may perform poorly in certain networking conditions but it is supported on older console recoveries. Otherwise, magic packet wakeup will be used. |
| /Q | Queries whether the console is in Connected Standby, whether the power mode is set to support Instant On, and whether the console allows remote power on connections. |
IXtfConsoleControlClient now supports wake-on-LAN
The new IXtfConsoleControlClient::QueryConnectedStandbyEx method supports wake-on-LAN. In addition, you can now pass the XTFSHUTDOWN_POWER_MODE_AWARE flag to the IXtfConsoleControlClient::ShutdownConsole method.
You can now query for the Title OS version that a title was built against
You can now use the xbapp queryversioninfo command to query for the Title OS version that is being used by a registered application. This can help you identify cases where a title is built against a different ERA.xvd than is available on the console.
XbConnect now supports indefinite wait times
The /WS and /WT options for the Connect (xbconnect.exe) command-line tool now support waiting indefinitely in addition to waiting a specific number of seconds. Use a value of -1 or ‘infinite’ to wait indefinitely.
Xbox One Manager
The following new features and improvements have been made to Xbox One Manager:
You can now set an HDR tone mapper to produce an SDR image at runtime
The new IDXGISwapChain1::SetHDRToneMapper method sets an HDR tone mapper that is used to produce an SDR image at runtime when an HDR game enables auto tone mapping. The SDR image is used for GameDVR, screenshots, streaming and broadcasting.
Present Details added to Event List
Present events are now viewable as GPU work items; in the Events Details view the Present parameters can be seen and the swap planes can be seen in the Texture Viewer. In addition, using the right-click menu option “Go to Present Event” on the Screenshot view image will redirect the user to the Present GPU event and open up the matching texture in the Texture Viewer.
Saving an image in Screenshot View
Users can now use the Screenshot view’s right-click menu option “Save As…” to save the image as a file.
Improving Performance of Captures Using Dynamic Indexing
We have greatly improved the performance of building the resource table when the capture uses dynamic indexing (also known as bindless resources). Previous versions of PIX used to resolve resources one GPU Id at a time; we’re now batching all the requests and resolving them in one call. In addition, a CPU task was being performed on all shaders used with dynamic indexing on the CPU, running in single threaded mode. This code is now using multithreading, spreading the work across all available cores. On some captures, we’ve seen the improvement cause captures that once took minutes to analyze to now be able to open in seconds.
We recommend users to open the resource table after starting analysis. The work gets done upfront, the results are cached and accessing resources at each Gpu Id will now be instantaneous.
MSAA/EQAA Render Target Visualizers
PIX supports three new visualizers for multisampled render targets.
Shader Wait/Stall bottlenecks
Shader Wait/Stall is a new bottleneck that measures the percentage of time that a wave is waiting or stalled on a VMEM, LDS, GDS, constant fetch, or export request. The metric reported is the amount of time spent waiting or stalled as percentage of the total lifetime of the wave. All waves that access memory will incur some normal wait and stall time, however a high amounts of time could indicate poor cache locality, incorrect tiling, or other inefficient memory usage patterns. The Shader Wait/Stall bottleneck is provides an indication of where time is spent during execution, but unlike other the bottlenecks it does not measure utilization of a specific hardware component.
Shader Edit and Continue
Final rendering on the console screen is now updated to reflect the successful shader edits.
You can now use Looking for Group posts from within your title
Looking for Group (LFG) posts help users find teams of like-minded players before entering matchmaking or other gameplay modes. For example, users can find players who have microphones but don’t use profanity, or players that want to play the same co-op modes.
Call the following new APIs to display system UI that allows users to create, browse, and sign up for LFG posts for your title without leaving the game: