The September 2014 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 site. For access, log in with your ID and password on https://developer.microsoft.com/en-us/games/xbox/partner/index; at the top of the page, point to Development and click Downloads.
You can check with your account manager for the latest information about upcoming Xbox One XDK releases.
The September 2014 Xbox One XDK contains the latest tools and libraries for Xbox One.
The Xbox One Developer Roadmap on the XGD site has been updated with projections of developer-facing feature work from the August XDK through Q4 of this year. 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.
Simulate Networking Conditions: xbStress
Developers can now simulate networking conditions using xbStress. Developers can develop and test their applications while simulating realistic bandwidth restrictions, latency, and jitter without having to use NEWT. For example to simulate poor connectivity, simply run “xbstress simulate network=min”.
Console Extensions for Devkits (Preview)
The Devkit Console Extensions library (Microsoft.Xbox.Tools.ConsoleExtensions) has been updated. This release does not contain new functionality but does contain a number of bugs fixes and the API has been updated to use the standard API pattern for async operations. You will need to update apps that use this API to use the new version of the API.
Note
You need to install the ADK to use this feature. The final version of console extensions will ship in a future release of the ADK.
New info Command-Line switch for Package Utility
The new info command displays an XVC’s ProductId, ContentId, BuildId, GameOS Guid, Package version, encryption key Id, and whether it was built using the chunk-based Content Update or file-based Content Update algorithm.
The following usage example shows how to use the new command-line switch and output:
C:\Program Files (x86)\Microsoft Durango XDK\bin>PackageUtil.exe info Example_1.2.1.0_x64__zjr0dfhgjwvde
ProductID: 00000000-0000-0000-0000-000000000000
Content ID: f70e2023-01b0-4632-91cc-edb24a98fa27
BuildID: 9dcca462-3f82-4091-aac8-2ee3675bae3b
GameOS Guid: 16419e2a-f04e-424e-957f-142a14848543
Package Version: 0x1000200010000 (1.2.1.0)
Encryption Key Id: 33ec8436-5a0e-4f0d-b1ce-3f29c3955039
File Based Content Update (/updcompat 2)
New shader compiler intrinsics are available
The following shader compiler intrinsics have been removed:
The following new shader compiler intrinsics have been added:
uint<> __XB_PackF32ToSNORM16 (in float<> x, in float<> y);
uint<> __XB_PackF32ToUNORM16 (in float<> x, in float<> y);
uint<> __XB_PackI32ToI16 (in int<> i1, in int<> i2);
uint<> __XB_PackU32ToU16 (in uint<> u1, in uint<> u2);
Complete descriptions of these intrinsics are available at Shaders and the FXC Shader Compiler.
New SetPredicationFromQuery API
SetPredicationFromQuery allows you to set up an occlusion or StreamOut overflow predication on an arbitrary buffer. This API is intended to be used with the new WriteQuery API. SetPredicationFromQuery directly supports the output format of the WriteQuery API.
GPU Performance Counters now match Xbox One hardware
Prior to this release, GPU performance counters were incomplete and did not properly match the Xbox One hardware. The GPU performance counters are now fixed and updated to properly match Xbox One hardware and some additional counters were added. Titles using GPU performance counters will likely require a code change when upgrading to the September XDK.
New DXGIX_PRESENT_PRESERVE_FRAMEBUFFER Present Flag
The DXGIX_PRESENT_PRESERVE_FRAMEBUFFER flag is used in conjunction with the new CoreApplication.RestartApplicationOnly API to provide an interstitial splash screen that is displayed while the Exclusive App is restarting.
2015 Xbox One Multiplayer design and APIs (Preview)
This release includes a preview of the 2015 Xbox One Multiplayer design and APIs. This new design is intended to address issues with the current Xbox One join/invite system, and help make Xbox Live the easiest and most flexible platform for multiplayer development. The most important change from the current design (which has been in place since March 2014), is that the new design no longer makes use of the “game party” concept, and the Windows.Xbox.Multiplayer.Party class. Functionality exposed there has been eliminated, or moved into Windows.Xbox.Services.Multiplayer.
ESRAM Viewer
Maximizing usage of ESRAM is critical to realizing full performance of your title on Xbox One. In this release of PIX, you can now see a visual representation of chronological ESRAM usage in the Timeline view during analysis of a GPU capture. This feature provides a color-coded visualization of which resources are in ESRAM, their size, associated physical and virtual addresses, as well as other details that can be viewed by clicking on the colored block for that resource. At a glance, you will spot regions of your frame processing where ESRAM is not fully used and quickly determine strategies for placing more resources to fill the gap, recouping a huge boost in memory bandwidth for your engine.
System Monitor now supports D3D and GPU counters for non-instrumented titles
The System Monitor graph in the Console view in PIX now reports D3D and GPU counters such as Frames per Second for titles that are linked to release D3D libraries.
New Method: RestartApplicationOnly
Developers will be able to restart their application more quickly by calling the new CoreApplication.RestartApplicationOnly API. For example, the cube sample will restart in approximately 1 second using RestartApplicationOnly versus 10 seconds using CoreApplication.Restart. RestartApplicationOnly restarts the application without restarting the virtual machine the application is running in. The existing Restart methods have not been deprecated and have not been changed for this release.
September Recovery Now Supports File-level Content Updates
File-level Content Updates are now supported in the September recovery. The packaging tools required to create file-level update capable packages shipped with the July XDK QFE 1. Titles built on earlier XDKs can benefit from File-level Content Updates by installing the July ADK QFE 1 on top of the XDK install.
Details about File-level Content Updates can be found in the following whitepaper Xbox One File-Based Content Updates
Disabling the Screen Saver
Games that show video or run for extended periods of time without user input can now use DisplayRequest.RequestActive to suppress the screen saver. Games can then re-enable the screen saver by calling DisplayRequest.RequestRelease.
Support for additional countries and languages.
With the September Recovery, Xbox One supports the full range of countries and languages where Xbox One is (or will soon be) commercially available.