Seems like Evernote has ditched the WPF platform and rewritten their
complete client in C++

http://blog.evernote.com/2010/10/26/evernote-4-for-windows-is-here/

Reasons cited are the blurry fonts, slow startup times, large memory
footprint, and poor support for certain graphics cards. They were using 3.5
- I wonder if .NET 4.0 would have solved these issues to a satisfying degree
or if C++ apps are simply the better choice for very popular client
applications.

I have been working with a very small team on NovaMind, a mind mapping
application for Windows and Mac (www.novamind.com) and we have decided to
rewrite version 5 of our Windows client in WPF. The previous version was
GDI+/GDI/C# and the main reasons for moving to WPF was the ability to use
hardware accelerated graphics, animations and sub-pixel rendering for fonts.
The move to WPF has been... very challenging.

At the moment we are finishing a major rewrite of the drawing layer. The
rich-text controls in WPF were just too slow and databinding and templating
seemed to be the slowest part of our application. - We couldn't actually
verify the exact cause for the performance issues in the application since
it doesn't seem to be possible to measure this (
http://stackoverflow.com/questions/3305733/test-wpf-control-performance) but
experimental prototypes confirmed that the rich-text controls and the XAML
templating is slow.

We had implemented control recycling and tried to cut down on element counts
and tried many other things but in the end it seemed that we had to rewrite
the drawing layer completely.

In this rewrite (which took us more than two months) we had to implement our
own rich-text rendering and measuring control (something I always wanted to
avoid since it is quite cumbersome and complex). We also rewrote all our map
elements and are now drawing most of the elements on the canvas ourselves by
overriding OnRender.

Performance seems more acceptable now. Opening a fairly normal sized mind
map with around 600 topics takes now around 4 seconds instead of the
completely ridiculous 40+ seconds before the rewrite. Of course in GDI+ this
was almost instantaneous.

After we finish this performance rewrite we can finally start implementing
our presenter feature, which was the main reason why we moved to WPF in the
first place.

Preliminary tests show that animating something smoothly and nicely is not
at all as easy as I would have expected and while I am confident that we can
create something truly outstanding in our market I know that it will be just
as challenging as it has been, ever since we have started with WPF (2007).
It seems that nothing we try to do 'just works' - I don't think that we use
a single standard control that we didn't have to tweak in some way to make
it more usable.

What are you experiences? Have you or your team ever thought about ditching
WPF? Do you regret betting on WPF?
_______________________________________________
ozwpf mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf

Reply via email to