Win2D 0.0.9 – command lists and swapchain improvements

Win2D version 0.0.9 is now available on NuGet and Github. New this sprint: Added CanvasCommandList CanvasSwapChain improvements Now handles high DPI following the same pattern as CanvasImageSource Present overload that takes a sync interval Added Rotation, TransformMatrix, and SourceSize properties Simpler ResizeBuffers overload API cleanup: added some missing properties and fixed inconsistent naming Added CanvasBitmap.Device,…


Async resource loading in Win2D

Previously, we looked at handling lost devices, why we put CanvasControl in charge of drawing and resource creation policy, the problems with async loading and some ways we tried to solve them. This time we’ll talk about the actual solution. CanvasControl is in charge of deciding when to raise CreateResources and Draw. In order to…

12

Rejected designs for async loading

Previously, we talked about handling lost devices, putting CanvasControl in charge of resource creation policy, and how async loading crashed our party. We were left looking around for ways to make async loading work… One option we considered would be to use the event args to allow the CreateResources to say that it is done….

1

Async loading is harder than it looks

Previously, we talked about the requirement for handling lost devices and putting CanvasControl in charge of resource creation policy. We’d just added the CreateResources event and were planning how to celebrate having solved the device lost problem…And this is where real-life sneaks in and spoils the party.  It turns out that not everything is a…

0

Resource creation in Win2D

Previously, we talked about handling lost devices in Win2D. We decided against putting knowledge about lost device handling in the resources themselves – so when the device is lost the Win2D resources are lost with it… It would seem then that we’re back to square one – something somewhere still needs to handle lost devices,…

1

Handling lost devices in Win2D

A reality when working with hardware accelerated graphics is that sometimes bad things can happen. Someone might remove the graphics device, upgrade the graphics driver, put the GPU into an infinite loop or upset the driver in some way. These can all cause the GPU to lose track of resources that you’ve created on it….

0

Win2D 0.0.8 – async CreateResources, better DPI support, and CanvasSwapChain

Win2D version 0.0.8 is now available on NuGet and Github. New this sprint (breaking changes highlighted in red): CreateResources events can now register AsyncActions to be tracked. This simplifies writing async load functions, and makes it easier to robustly handle error cases such as device lost. During the week we will be posting a series…


Win2D binaries now available on NuGet

The big news this sprint is that we are now publishing Win2D binaries on NuGet, so you no longer need to bother downloading the source and compiling it yourself.  We will update this package every time we push new code to GitHub, approximately every two weeks. Unfortunately we don’t have much in the way of…


Add sizzle to your app with image effects: Part 3

This is part 3 of a 3 part series about Win2D image effects. I strongly recommend you start with parts 1 and 2 if you haven’t already read them. Part 1 Part 2 Part 3 (this part) How do image effects work under the covers? As you probably know, Win2D is a wrapper for existing…

1

Add sizzle to your app with image effects: Part 2

This is part 2 of a 3 part series about Win2D image effects. I strongly recommend you start with part 1 if you haven’t already read it. Part 1 Part 2 (this part) Part 3 Can I combine multiple image effects? Yes! In fact, combining effects is one of the most powerful things you can…

0