Tuesday, December 20, 2011

WriteableBitmapEx 1.0 Coming Soon, Test it Now!

A new version of the WriteableBitmapEx open source library has just been released, but that isn't the last release for this year. No, Andrew Burnett-Thompson and I refactored the library to make it easier portable and we added full WPF support. Andrew did most of the work since he needed the current WriteableBitmapEx library for one of his WPF projects. As a result of the refactoring, WriteableBitmapEx will have maintained support for WPF starting with version 1.0.
I'd have loved to add support for WinRT too, but unfortunately it seems that WinRT only supports streamed reading / writing of the pixel buffer at the moment. I will wait until Microsoft ships the Windows 8 beta early next year and see what they have in there. Many WriteableBitmapEx algorithms need random buffer index access and I don't want to waste my time with massive memory copying now. Who knows what else comes in the beta and it might be better to use a whole different approach for immediate rendering with Windows 8 and WinRT.

All samples were tested with the new version, but due to the massive refactoring more testing is needed. Please test the beta version with your projects and report any bugs you find. You can download the binaries here. Note that this package only contains the WriteableBitmapEx binaries for Silverlight, Windows Phone and WPF. All the samples can be found in the source code repository in the branch "WBX_1.0_BitmapContext". If all goes well this branch will become the trunk in a couple of weeks.


  1. Hello Rene, I've been testing the 1.0 BitmapContext version against a high performance WPF/SL chart, which is powered by WriteableBitmapEx:


    I will report if I see any anomolies!

  2. Hi Rene,

    Is there any plan/benefit of porting the WinRT version of WritableBitmap to C++?

  3. Hi Fallon,

    the WinRt version is now available in the source code repository in the branch "WBX_1.0_BitmapContext" http://writeablebitmapex.codeplex.com/SourceControl/list/changesets

    I will blog about it tomorrow.