The January 2013 release of the Durango XDK from Microsoft contains the following new features, tools, and documentation. For features that shipped in a previous release of the Durango XDK, see the What’s New document for that release. (See Features Introduced in Previous Releases.)
The most recent release notes for and updates to the Durango XDK can always be found on Durango 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.
The Durango developer support group sends e-mail to Durango developers whenever a new Durango XDK is released. Also, you can check with your account manager for the latest information about upcoming Durango XDK releases.
With the release of this XDK, versions of the Durango XDK released before October 2012 are retired. We retain for download the three most recent releases of the XDK; however, you are encouraged to update to each new release when it becomes available, in order to get the most recent bug fixes and new features.
Updates To NUI
The January 2013 release of the Durango XDK includes significant improvements in hand state recognition results, improved support for more diverse clothing situations (such as long sleeves), and noticeable improvements in floor detection and limb length adjustments.
Support for Streaming Install
The January 2013 release of the Durango XDK includes support for Streaming Installation of titles. Streaming Install allows titles to run before all content has been installed. It also allows titles to change the order in which groups of files are installed in response to user input or other events.
For more information, see Streaming Installation and Intelligent Delivery: Overview.
PIX Stability and Usability Improvements
In the January 2013 release of the Durango XDK, PIX has a variety of functional improvements across the tool:
PIX: Deferred Context support
In the January 2013 release of the Durango XDK, PIX API captures now support deferred contexts; there is no longer any need to disable “Capture API Calls” when using this functionality in your title.
For deferred contexts to be captured correctly, PIX needs to have special awareness of non-transient command lists. Command lists that are created and used more than one frame later need to be created in a deferred context that has been created with the D3D11_CREATE_DEFERRED_CONTEXT_LONG_LIFE_COMMAND_LISTS flag. See the documentation for ID3D11Device::CreateDeferredContext for more information.
For this release, the calls that comprise a command list will now appear as children of an ExecuteCommandList call in the Events list.
Websockets Support Re-enabled
The January 2013 release of the Durango XDK reintroduces websockets functionality. Developers can use Windows.Networking.Sockets for websockets functionality. Socket usage other than websockets will not be available via Windows.Networking.Sockets and developers should continue to use Winsock for these scenarios.
For more information, see Windows.Networking.Sockets Namespace.
Compiler Updates for Vector Operations
The January 2013 release of the Durango XDK includes a new compiler feature that significantly improves the performance of vector operations by passing arguments in registers. The new __vectorcall keyword enables this new calling convention on individual functions. __vectorcall can be used on functions that take arguments of __m128, __m256 or aggregate of __m128, __256 as shown in the following example:
#include <intrin.h>
struct Particle {
__m256 x;
__m256 y;
__m256 z;
__m256 w;
};
Particle __vectorcall foo(Particle a, __m256 scale)
{
Particle t;
t.x = _mm256_mul_ps(a.x, scale);
t.y = _mm256_mul_ps(a.y, scale);
t.z = _mm256_mul_ps(a.z, scale);
t.w = _mm256_mul_ps(a.w, scale);
return t;
}
Here, argument ‘a and b’ are all passed in registers and the result ‘t’ is returned in registers as well.
Game Chat API
The January 2013 release of the Durango XDK introduces a preview of the basic functionality of the Game Chat API.
Support for Visual Studio 2012, Update 1
The January 2013 release of the Durango XDK supports update 1 for Visual Studio 2012.
SmartGlass: Streamer QOS API
In the January 2013 XDK release the SmartGlass API now exposes APIs that allow an application to declare QOS requirements and respond to real-time network conditions for video streaming. The streamer implementation uses network quality metrics to adjust bitrate adaptively and the application is notified of these changes. Events also expose general network metrics such as average latency. Additionally an application can specify a preferred and minimum bitrate threshold.
SmartGlass: Text Entry feature
The January 2013 XDK release implements a new type of SmartGlass surface mode called ISmartGlassTextEntrySurface. This can be used to accept text input from client devices and can be used for text entry scenarios in a title.