More WPF Anti-alias blues

I am hitting more issues with anti-alias in WPF. While it is frustrated to see there is no anti-alias support for 3D in WPF on Windows XP, it is even stranger to see that the text rendering in WPF has always-on anti-alias without giving developer the option to turn it off! Take a quick look at this thread on MSDN Forum, you will surprisingly find out how many people are frustrated with the same issue — poor design or poor implementation of WPF.

In a short word, WPF should give developers the option to turn on/off anti-alias feature in text rendering, and in 3D. Without such options, WPF suffers a major design flaw and poor quality comparing to Adobe Flash/Flex platform. I don’t see any blurry text out of Flash, while I see plenty of such on WPF. Why this “superior” and “future of UI development” technology from Microsoft renders text so poorly? Come on, we are in 2007 already and our computers are far more capable than just rendering clear text. My Windows Forms 2.0 text rendering is much clearer than WPF! The following illustrated the subtle differences between these three text rendering results:

XAML-based Text Rendering:

Adobe Flex2-based Text Rendering:

Windows Forms 2.0-based Text Rendering:

You can see both Windows Forms and Flex render textual information in a much readable way. And there is no way in WPF to turn this strange “anti-alias” off in text rendering. If you happen to know the tricks to make the look of small fonts in WPF looks better, I’d highly appreciate!

[Update 8/18/2007]

See this blog post on Text Anti-alias rendering in WPF. I found it useful when you want to fine tune your text appearing in XAML apps.


3 Responses to More WPF Anti-alias blues

  1. G says:


    I think you should post a Windows Forms 2.0 example while you have cleartype font smoothing turned on in XP. That would be a more accurate demonstration of how horrible WPF’s font smoothing is.

    Also, is it just me or do images/icons on buttons look blurry as hell in WPF too?

  2. larissafhp says:

    RenderOptions.SetEdgeMode((DependencyObject)myVisual, EdgeMode.Aliased);

  3. larissafhp says:

    but anyway EdgeMode flag only affect non-text drawing. =D

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: