I've never had to write any WPF application that was required to be
truly performant (business apps don't -really- require a lot of
rendering speed), but I can understand that trying to use the
out-of-the-box controls would be too slow in your scenario. The WPF
rendering pipeline can be very chatty and I'm sure this would be the
cause of a lot of your performance loss in moving up from GDI+ (this is
probably why the WPF framework goes directly to the backing store to
update dependency properties rather than through exposed properties on
your objects; to at least provide some semblance of performance).
Have you tried rolling your own visual objects using geometries and
extending Shape? That would be my first step to trying to reduce
rendering overheads.
As for my own WPF experiences, while we haven't developed a complete set
of extended WPF controls we occasionally wish we had. However, with a
few key extended controls, a few custom ones, some good skinning and a
lot of standard development patterns, we are thriving with our
enterprise application. We are very glad we went with WPF.
Carl.
Carl Scarlett
Senior .NET/WPF Developer, UX Designer - Genesis Team
IT Applications Delivery | Bankwest
A: Level 5, 199 Hay Street | Perth | Western Australia | 6004
P: (08) 9449 8703
M: 0408 913 870
E: [email protected]
AFR Smart Investor Blue Ribbon Awards
2010 Bank of the Year
From: [email protected] [mailto:[email protected]]
On Behalf Of Patrick Klug <[email protected]>
Sent: Thursday, 28 October 2010 8:54 AM
To: [email protected]
Subject: Evernote ditches WPF
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?
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
_______________________________________________
ozwpf mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf
________________________________________________________________________
_______
This email has been scanned by the Bankwest Email Security System.
________________________________________________________________________
_______
_______________________________________________________________________________
Unencrypted electronic mail is not secure and may not be authentic.
If you have any doubts as to the contents please telephone to confirm.
This electronic transmission including any attachments is intended only
for those to whom it is addressed. It may contain copyright material or
information that is confidential, privileged or exempt from disclosure by law.
Any claim to privilege is not waived or lost by reason of mistaken transmission
of this information. If you are not the intended recipient you must not
distribute or copy this transmission and should please notify the sender.
Your costs for doing this will be reimbursed by the sender.
We do not accept liability in connection with computer virus, data corruption,
delay, interruption, unauthorised access or unauthorised amendment.
_______________________________________________________________________________
______________________________________________________________________
This email has been scanned by the MessageLabs Email Security System.
For more information please visit http://www.messagelabs.com/email
______________________________________________________________________
_______________________________________________
ozwpf mailing list
[email protected]
http://prdlxvm0001.codify.net/mailman/listinfo/ozwpf