December WPF/E CTP: First Impressions
Updated: Some more details about WPFE and texture sampling issues.
So.... not bad.
I've been playing with the Microsoft WPF/E CTP a little over the last week-ish (its a slow time of year), and I thought I'd post some early thoughts. These are mostly a ramble - no particular point that I'm making, and it might not be entirely coherent.
Rendering
Appears to be a pure software rendering pipe (that is, there appears to be no Hardware acceleration in this CTP). Good antialiasing quality - appears to 4X oversampled in the y-direction and analytical in the X. As with GDI plus, I think they botched the texture sampling rules. Its a little better than GDI plus was, but still wrong (IMHO) for resolution independent UI - which of course, is a big part of the goal. Macromedia got this right (at least, starting with Flash 8). Although its a software rendering pipeline, it also looks like WPE/E employs a front-to-back display (or some form of overdraw prevention, at least), and performance is pretty decent - though I haven't stress tested complex shapes or the like yet (Updated: I tried, and failed, to load the simplest benchmark - must be a point limit, though I couldn't find any documentation/info on that).
And no 3D support.
Interactivity
No controls (buttons, menus, text edits, etc.) are present in this CTP - you get events, and you get shapes and images (textures), so... hard to say much about this yet. Startup time for the WPF/E plug-in appears good - the header of theWPFblog (appropriately) is WPF/E, for example, and loads nicely/quickly - WAAAAAY better than .NET 3.0/XBAP (e.g. try this sample).
Still, I think the packaging streaming model, although goofy in Flash, makes it much easier for developers to explicitly control and manage assets loading. It will be interesting to see how important this becomes in the real world for building larger scale applications - I think Microsoft is at major experience deficit in this one key area.
Animation is a bit odd still, and the property/element "." syntax rules still throw me a bit...
Samples/SDK
Documentation and SDK - really nice.
Samples? Laaaaaame.
Pretty much most of them could have been built trivially in Flash, or even DHTML. Even the Page-turn example is mostly about clever content (for example, the shading is a part of the ARTWORK). Not one example shows the expressiveness potential of the runtime. Most of these HTML samples are more inspirational. I realize this is just the first CTP - but *ONE* killer sample would have been nice.
Overall
The language is nice and expressive - its pretty easy to get started and build "rich" interactive content. If you're starting from scratch, much easier than Flash, Flex, or DHTML even. The browser integration and support for multiple platform (browser and OS) right out of the gate is a good move. CLR integration (and the release of the mini-CLR) is the big "FUD" thing we're all waiting for, I think. The code-behind model really leverages the excellent "first class" host DOM integration. Plug-in size and updating may be an issue, but its early enough that I'll reserve judgment on that. Currently, the IE control is 1.1 MB - the other variants (browser and OS) are quite a bit bigger.
All in all... a decent first CTP - looking forward to more... and some clearing up of the massive general confusion about how WPF, .NET 3.0, XBAP and WPF/E are supposed to fit. Everything I've seen so far seems to be after-the-fact rationalizing of internal competition and overlap.
So.... not bad.
I've been playing with the Microsoft WPF/E CTP a little over the last week-ish (its a slow time of year), and I thought I'd post some early thoughts. These are mostly a ramble - no particular point that I'm making, and it might not be entirely coherent.
Rendering
Appears to be a pure software rendering pipe (that is, there appears to be no Hardware acceleration in this CTP). Good antialiasing quality - appears to 4X oversampled in the y-direction and analytical in the X. As with GDI plus, I think they botched the texture sampling rules. Its a little better than GDI plus was, but still wrong (IMHO) for resolution independent UI - which of course, is a big part of the goal. Macromedia got this right (at least, starting with Flash 8). Although its a software rendering pipeline, it also looks like WPE/E employs a front-to-back display (or some form of overdraw prevention, at least), and performance is pretty decent - though I haven't stress tested complex shapes or the like yet (Updated: I tried, and failed, to load the simplest benchmark - must be a point limit, though I couldn't find any documentation/info on that).
And no 3D support.
Interactivity
No controls (buttons, menus, text edits, etc.) are present in this CTP - you get events, and you get shapes and images (textures), so... hard to say much about this yet. Startup time for the WPF/E plug-in appears good - the header of theWPFblog (appropriately) is WPF/E, for example, and loads nicely/quickly - WAAAAAY better than .NET 3.0/XBAP (e.g. try this sample).
Still, I think the packaging streaming model, although goofy in Flash, makes it much easier for developers to explicitly control and manage assets loading. It will be interesting to see how important this becomes in the real world for building larger scale applications - I think Microsoft is at major experience deficit in this one key area.
Animation is a bit odd still, and the property/element "." syntax rules still throw me a bit...
Samples/SDK
Documentation and SDK - really nice.
Samples? Laaaaaame.
Pretty much most of them could have been built trivially in Flash, or even DHTML. Even the Page-turn example is mostly about clever content (for example, the shading is a part of the ARTWORK). Not one example shows the expressiveness potential of the runtime. Most of these HTML samples are more inspirational. I realize this is just the first CTP - but *ONE* killer sample would have been nice.
Overall
The language is nice and expressive - its pretty easy to get started and build "rich" interactive content. If you're starting from scratch, much easier than Flash, Flex, or DHTML even. The browser integration and support for multiple platform (browser and OS) right out of the gate is a good move. CLR integration (and the release of the mini-CLR) is the big "FUD" thing we're all waiting for, I think. The code-behind model really leverages the excellent "first class" host DOM integration. Plug-in size and updating may be an issue, but its early enough that I'll reserve judgment on that. Currently, the IE control is 1.1 MB - the other variants (browser and OS) are quite a bit bigger.
All in all... a decent first CTP - looking forward to more... and some clearing up of the massive general confusion about how WPF, .NET 3.0, XBAP and WPF/E are supposed to fit. Everything I've seen so far seems to be after-the-fact rationalizing of internal competition and overlap.
77 Comments:
Looks like 3D is around the corner...
http://www.codeplex.com/3DTools/Release/ProjectReleases.aspx?ReleaseId=577
-JR
I don't think so - that's WPF, not WPF/E (hence the confusion...)
Ah... right your are.... heh
-JR
>> As with GDI plus, I think they botched the texture sampling rules.
What specifically do you think is wrong with the texture sampling rules?
Specifically, when you scale an image up, the texels and pixels are aligned according D3D rules (I think - maybe its opengl), which is to say that 0,0 in pixel space is .5, .5 (er, in the middle of the "first" texel)
I should post a shot, but the result is this. If I have an image with a 1 pixel border around it, and 1 pixel grid covering it, all lines have the same visual thickness at 100%, but not at > 100%.
GDIPlus was similar, but also treated the left and top different than the right and bottom.
GNQFHP The best blog you have!
RC4Pcr Hello all!
Please write anything else!
Hello all!
Wonderful blog.
Good job!
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Magnific!
Good job!
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Good job!
9ZOyGB write more, thanks.
Magnific!
Thanks to author.
Wonderful blog.
Thanks to author.
Wonderful blog.
Wonderful blog.
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Please write anything else!
Magnific!
Thanks to author.
Good job!
Nice Article.
Nice Article.
All generalizations are false, including this one.
Please write anything else!
Beam me aboard, Scotty..... Sure. Will a 2x10 do?
Calvin, we will not have an anatomically correct snowman!
Magnific!
Please write anything else!
If ignorance is bliss, you must be orgasmic.
Suicidal twin kills sister by mistake!
Give me ambiguity or give me something else.
Magnific!
Nice Article.
Build a watch in 179 easy steps - by C. Forsberg.
Calvin, we will not have an anatomically correct snowman!
Energizer Bunny Arrested! Charged with battery.
A lot of people mistake a short memory for a clear conscience.
Magnific!
Give me ambiguity or give me something else.
Lottery: A tax on people who are bad at math.
Lottery: A tax on people who are bad at math.
Wonderful blog.
When there's a will, I want to be in it.
What is a free gift ? Aren't all gifts free?
I don't suffer from insanity. I enjoy every minute of it.
Lottery: A tax on people who are bad at math.
Please write anything else!
640K ought to be enough for anybody. - Bill Gates 81
Beam me aboard, Scotty..... Sure. Will a 2x10 do?
Friends help you move. Real friends help you move bodies
Suicidal twin kills sister by mistake!
Beam me aboard, Scotty..... Sure. Will a 2x10 do?
Suicidal twin kills sister by mistake!
Change is inevitable, except from a vending machine.
C++ should have been called B
Lottery: A tax on people who are bad at math.
Beam me aboard, Scotty..... Sure. Will a 2x10 do?
When there's a will, I want to be in it.
Friends help you move. Real friends help you move bodies
A lot of people mistake a short memory for a clear conscience.
Nice Article.
Oops. My brain just hit a bad sector.
The gene pool could use a little chlorine.
actually, that's brilliant. Thank you. I'm going to pass that on to a couple of people.
Calvin, we will not have an anatomically correct snowman!
Lottery: A tax on people who are bad at math.
Calvin, we will not have an anatomically correct snowman!
All generalizations are false, including this one.
runescape money runescape gold runescape money runescape gold wow power leveling wow powerleveling Warcraft Power Leveling Warcraft PowerLeveling buy runescape gold buy runescape money runescape items runescape gold runescape accounts runescape gp dofus kamas buy dofus kamas Guild Wars Gold buy Guild Wars Gold runescape accounts buy runescape accounts runescape lotro gold buy lotro gold lotro gold buy lotro gold lotro gold buy lotro gold lotro gold buy lotro gold runescape money runescape power leveling runescape money runescape gold dofus kamas cheap runescape money cheap runescape gold Hellgate Palladium Hellgate London Palladium Hellgate money Tabula Rasa gold tabula rasa money 陈楚生 压力开关 压力传感器 流量开关 流量计 液位计 液位开关 温湿度记录仪 风速仪 差压开关 可燃气体检测仪 过滤器 强磁水处理器 自清洗过滤器 自动反冲洗过滤器 保鲜棕榈树 棕榈树
Post a Comment
Links to this post:
Create a Link
<< Home