Change Current DrawingContext to one using OpenGL

Jul 12, 2014 at 12:01 PM
Edited Jul 12, 2014 at 12:05 PM
Last year I tried to make a BitmapDrawingContext using WriteableBitmap. It brought lots of Performance improvement to my project. Err, I put a lot of effort to let WriteableBitmap draw text with transforms on WPF. Maybe there's many improvements needed to be done in BitmapDrawingContext, It works quite for me yet. One thing I should point out that the performance bottleneck of BitmapDrawingContext is DrawText, and there's no solution for it.
Recently, I had a try on OpenGL and soon fell in love with it:)
Why I finally choose OpenGL? Here're some reasons.
*Best performance!Hardware acceleration!
*cross platform: Windows, Unix, Linux, Mac OS,Andorid,WP....
*supporting .net on all platform with the help with Mono project, but only window support WPF.
*More Low-Level APIs which are easy to use.

To use OpenGL cross platform, I recommend OpenTK(Open Toolkit). The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL. There's another outstanding OpenGL library on .net framework whose name is SharpGL. However SharpGL just supports Windows while OpenTK supports all.

To make a new DrawingContext is not easy, I think it's necessary to give some changes to PlotView in order to maintain compatibility with existing DrawingContexts. So do you agree with me, objo?

In the end, BitmapDrawingContext is available for you all:
Supporting directly downloading with IE:
Download OxyPlot.Wpf.Extension (for WPF only)