Last night I had the pleasure to demonstrate at the Queensland MSDN user group some of the WPF Animations that we created at NovaMind for our NovaMind Presenter. Here are the open source projects that I have mentioned in my talk:
- http://artefactanimator.codeplex.com/
a great WPF and Silverlight animation framework. - http://wpfslblendmodefx.codeplex.com/
Blend Modes like Color Dodge, Color Burn and many more for WPF.
Cory Plott, the creator of this framework, has a serious about this on his blog. (part 1, part 2, part 3) - http://fx.codeplex.com/
A WPF Shader library. - http://transitionals.codeplex.com/
Making transitions in WPF somewhat easier.
I have also compiled a couple of WPF Animation Best Practices on stackoverflow a while ago:
http://stackoverflow.com/questions/1780865/wpf-animation-best-practices/4497963#4497963
Finally, you can download the NovaMind 5 file that I used for the presentation here. Simply download it, open it and hit F5 to start the presentation.
If you don’t already have NovaMind 5 installed you can get a a free 30-day trial at www.novamind.com and even when the trial expires you can still use it as a free NovaMind 5 document viewer.
Good presentation Patrick, in regard to the text rendering issues you mentioned during the presentation there’s a fairly detailed blog posting by the makers of SharpDevelop and what they did to help speed up their text rendering performance in their text editor (AvalonEdit). The use cases are of course quite different, they don’t have text flying around for instance, but some of the techniques they use could be helpful. For instance the use of PIX to find out what’s actually going on under the hood. Anyway the post can be found at http://community.sharpdevelop.net/blogs/dsrbecky/archive/2011/09/04/WPF-text-rendering-performance.aspx
Thanks Charles. This is really interesting stuff. I was aware of AvalonEdit and that they wrote their own text rendering control but I wasn’t aware of this post. We wrote our own rich-text rendering for NovaMind 5 as well because the built-in one was just too slow to be used on the Mind Map – I will see if we can make use of the technique mentioned in the post as well.
The animation problems with scrolling text is unfortunately more of a general issue. You simply can’t guarantee smooth animations with anything in WPF. Even if I try to shuffle a ellipse across the screen the animation stutters on larger screens.