Win2D 0.0.17 – breaking changes and compatibility with latest VS toolchain

Win2D version 0.0.17 is now available on NuGet and GitHub. It’s been such an exciting week as the //build/ conference in San Francisco is in progress! Those attending may have had the opportunity to see our Win2D talk today. The new public version of Visual Studio 2015 RC is also available to try out, and use with Win2D.

Breaking changes

1:  Building using Visual Studio 2015 now requires version Visual Studio 2015 RC. Earlier previews of VS 2015, such as CTP 6, and so on, are no longer supported. 

2:  Some renaming related to CanvasTextLayout for clarity and consistency.

  • MaximumLayoutSize -> RequestedSize
  • GetMinimumLayoutWidth -> GetMinimumLineLength
  • GetMinimumCharacterAdvanceWidth -> GetMinimumCharacterAdvance

3:  Removed CanvasLineSpacingMethod. This is now determined from CanvasTextLayout's LineSpacing value.

4:  Reordered the DPI parameters passed to methods of CanvasBitmap, CanvasRenderTarget, and CanvasSwapChain.

What's New

  • Various fixes to ensure Win2D is compatible with the latest Visual Studio toolchain for building UWP apps.
  • Improvements in documentation.
  • A necessary change to ensure Win2D can be consumed by managed Windows runtime components.
  • A cool new sample in ExampleGallery:
Win2D has long supported interop with Direct3D. This demo shows interesting examples of Direct3D interop usage- Win2D-rendered content is textured onto a 3D model, and the whole scene used as input to a post-process Win2D image effect. 

Visual Studio Installation Notes

A couple minor issues have been observed while compiling Win2D using Visual Studio 2015 RC:
  • While opening Win2D.81.sln with Visual Studio 2015 RC, a dialog may appear about upgrading certain projects to the latest toolchain. If the 8.1 tooling is installed, these projects should be buildable without any changes, so feel free to hit 'Cancel'. The dialog will not appear again.
  • If the 'Custom' option of the installer is used, ensure that that the checkbox for Windows 10 Tools is checked in order to use Win2D.uap.sln. If it was not checked or if the checkbox was disabled, re-launch the installer, choose the Modify option, and enable it.

Comments (9)

  1. Scott H says:

    Just wanted to say thanks.  You guys have done an excellent job bringing this API.  I dont think enough people know about it yet, but maybe the marketing blitz can begin once we hit 1.0.  This API is as good as some of the other ones out there, is meant for .NET developers, works with XAML.  Its really great.

    Working on my first game for the Surface Pro 3 using your API. With the loss of XNA and Sliverlight,  Im not sure you guys realize how hot this is going to be.

  2. ClAndrew says:

    Thanks Scott for your comment. I'm glad that you find this API helpful. We've worked to make it as seamless as possible for people using XAML and .NET, who may be transitioning out of other technologies for graphics. It's still early, but we're anticipating the 1.0 release and what types of feedback we'll see. If your game moves along far enough, definitely let me know where to find it! I'd like to give it a try.

  3. Alex says:

    Stumbled on to Win2D at Build and was pleasantly surprised because I just went through a few books on DirectX and Direct2D and abandoned learning just because DirectX is complex and overwhelming for somebody who is new to game development (yet with years of managed dev experience).

    On a related note, I think it would be great if you guys did game development posts and tutorials on your blog (with extra kudos for sample code projects added to your github repo).

    That would be a great way to introduce people not only to Win2D but build awareness about the *ease* of game development capabilities in the Win10 eco-system.

  4. ClAndrew says:

    It's a very familiar story, people coming in from the .NET world, finding technical hurdles using DirectX for graphics tasks! Adding more game dev-focused samples / blog entries is very much possible for the future. So far, we've been encouraging devs to use CanvasAnimatedControl for animated game content.

    Feedback like this helps to decide which scenarios we should focus on, so it is much appreciated.

  5. Matt says:

    I'm all for seeing how Win2D can be used to create a game!  I have lots of XAML experience and the idea of developing a game leveraging XAML is very appealing.

  6. merthsoft says:

    I really like Win2D so far! I made a little fish tank (…/fish-tank) and it was really straight-forward. Thanks for all your hard work!

  7. ClAndrew says:

    Re: Matt I'm hoping we can enable these kinds of scenarios, definitely!

    Re: merthsoft Hey I took a look at your fish tank app! Nice! And, it's in the Windows Store too. I played with the code a little, the animation seems to get a bit smoother if you switch from CanvasControl to CanvasAnimatedControl. In any case it's always something how far you can get with simple 2D drawing primitives. I really like this app, my favorite thing is how it randomizes the fish.

  8. Martimedia says:

    I've tried the code on a Raspberry Pi and it seems to work fine apart from performance. The CPU seems to be pegged to 100% with a slow frame rate, is the current release making using of the Raspberry Pi GPU?

  9. Martimedia says:


    Switched to using CanvasAnimatedControl and perf  a lot better with sample app, and now CPU is down to 70% running the fish tank app.

Skip to main content