Coffeehouse Post

Single Post Permalink

View Thread: Do you find WPF to be unnatural / unlogical?
  • User profile image

    I would beg to differ. it doesn't show up on snoop, but I would be absolutely stunned to find the vast majority of the UI was not driven by wpf.

    My understanding is that WLM2011 uses a derivation of the non-public DirectUI API that supports 3D transforms (regular DirectUI is 2D-only. For more information on DirectUI you need to consult the court documents for one of Microsoft's lawsuits a few years ago).

    If you have any source regarding it not being wpf driven I'd genuinely love to see it.

    Take a look at the MSNMsgr.exe (version 15.4, the latest), if you take it apart and look at the RVA Data Directory section you'll see the 14th entry (reserved for the CLR runtime header's RVA) is marked as null. Meaning msnmsgr.exe contains no managed code.

    My current computer is XPx64 and its PE headers mark it as NT6+ so my kernel's loader refuses to run the executable, but I assume that evidence is good enough for you.

    Or run Messenger yourself and open up Process Explorer, you'll see there aren't any CLR modules loaded (hint: look for mscoree.dll which contains the CLR's entrypoint) and especially not System.Windows.dll (where WPF's public API lives).

    This problem was fixed with wpf 4. Though the font rendering mostly looked bad because it jarred with font rendering in the rest of windows. Text rendered with GDI is not sub pixel positioned, in contrast to mac osx and linux. Whether this is a good or bad thing is a matter of taste. Many people prefer not to use anti-aliasing of any sort. IE9 will be using sub-pixel positioning and I'm willing to bet all text rendering will all be sub-pixel positioned going forward.

    Sort-of. WPF uses subpixel positioning for all font-sizes, which is why it looks bad. WPF4 can correct this (by letting you choose) but you have to opt-in to it, which I feel is a mistake. WPF4 should be grid-snapping at small font sizes and then move on to 'pure' type rendering at larger sizes (this is what OS X has done since the beginning). I'm indecisive on the issue, I find grid-snapping makes type more 'cleaner' because it gives them more defined and contrasted edges, whereas WPF4's "Ideal" rendering method (like OS X) has the habit of blurring the edges. Call me a partisan, but I'd like grid-snapping to remain the default on Windows, let Apple keep their 'Ideal' rendering, I prefer hard edges.