What’s New in the June 2015 Xbox One XDK

The June 2015 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:

Release Notes and Xbox One XDK Updates

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.

Xbox One XDK Version Info

The June 2015 Xbox One XDK contains the latest tools and libraries for Xbox One.

What’s new in the June 2015 XDK

Roadmap

The Xbox One Developer Roadmap on XGD has been updated with projections of developer-facing feature work from the May 2015 XDK through Q3 of 2015. 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.

Table of Contents

Developer Tools

Graphics

PIX

Developer Tools

Run from PC deployment now supports paths that contain symbolic links (Preview)
  Run from PC deployment now supports symbolic links within the folder structure that contains the title. In addition, you can use the new Credentials (xbcred.exe) command-line tool to manage credentials for remote servers. For more information, see Run from PC Deployment.

Added XTF APIs to support Run from PC deployment (Preview)
  The new XtfRegisterNetworkSharePackage and XtfGetCredentialInfoList functions have been added to support Run from PC deployment. For more information, see Run from PC Deployment.

ConsoleExtensions network simulations can now target specific addresses or hosts, which can be used to identify blocking Xbox Live calls
The network simulation features in the Microsoft.Xbox.Tools.ConsoleExtensions namespace have been enhanced to allow the simulation to impact only the set of IP addresses, hostnames, or services that you specify. These enhancements make it easy to test network conditions such as when access to Xbox Live services are down but all other network resources are available. For more information, see Network stress.

Enable XTF logging from xbconfig
  The Configuration (xbconfig.exe) command-line tool now allows you to enable XTF logging on the development kit. To debug title deployment and launch failures using XTF, use the new LogLevel flag.

Improved runtime performance when using arrays of complex types
  The compiler included in the Xbox One XDK has been updated to generate more efficient code when using arrays of types that are not built into the system. The previous versions of the compiler generated calls to constructors using the vector constructor iterator, even if the constructors were empty. The elimination of these calls results in dramatically improved performance, especially when iterating through large arrays.

Graphics

Direct3D 12.x First Approved Libraries
You can ship your title on Direct3D 12.x using the June 2015 Xbox One XDK.

Direct3D 12.x updates
The following updates have been made to Direct3D 12.x in the Xbox One XDK:

Mapping a texture to ESRAM is now faster
The D3DMapEsramMemory method has been optimized in both D3D12.x and D3D11.x. This will benefit XGMemory memory layout APIs, such as the XGMemoryLayout::MapEsramPages method. The D3DMapEsramMemory method now takes about ten nanoseconds; this method previously took about 230 nanoseconds.

Added and updated graphics samples
The following updates have been made to the graphics samples on the Samples page of the Xbox Game Developer (XGD) site:

DirectXMath 3.08
The following changes have been made for DirectXMath 3.08:

PIX

Async compute and DMA improvements
The following improvements have been made to PIX for async compute and DMA operations:

Hierarchy in the timeline (Preview)
The timeline now displays hierarchy by stacking events vertically, rather than overlaying child events directly on their parents. This allows you to see the hierarchical structure of the events at a glance, and makes it much easier to select events through the timeline. To use this preview feature, open the File menu, click Settings, and then select Enable hierarchical event display in the Timeline section.

Note This is a new feature in the Xbox One XDK. Please submit feedback for this feature by clicking the Feedback button on the PIX title bar.

ESRAM optimization for D3D12 and async compute
The ESRAM Optimization view now supports Direct3D 12.x captures as well as captures with async compute and DMA. The new Find Resource button allows you to locate resources in the ESRAM Optimization view.

Timeline navigation enhancements
To simplify timeline navigation, PIX now supports the keyboard and mouse shortcuts listed in the following table.

Action Shortcut
Select a timeline item in a lane Left click
Select a time range Hold down the left mouse button and drag
Display the context menu Right click
Pan horizontally and vertically Hold down the right mouse button and drag
Zoom the timeline Scroll the mouse wheel (it is no longer necessary to hold down CTRL)
Zoom the ESRAM utilization map Hold down SHIFT while scrolling with the mouse wheel

Improved resource modification tracking
The resource information panel now lists DrawIds for easier tracking of resource modifications. You can now determine the last time that each resource was modified, as well as the time that it will be modified next.

PIX Event API supports ANSI
The PIXBeginEvent, PIXEndEvent, and PIXSetMarker functions now support ANSI format strings.

The File IO profiler now includes a timeline
The new File IO timeline displays the set of file reads that are outstanding at any point in time. A graph above the timeline shows IO throughput, disk utilization, and queue depth. The timeline and the graph are synchronized with the set of reads displayed in the events list. These new analysis features make it easier to optimize your title’s use of the IO subsystem.

Instruction traces can now be initiated directly for a specific function
The button used to initiate instruction traces on the Home tab now includes an option to list all of your title’s functions. Select a function in the dialog box to start an instruction trace without the need to perform a Function Summary or Callgraph capture beforehand.