<?xml version="1.0" encoding="utf-8" ?>
<rss version="2.0"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Pablo Fernicola's Personal Blog - Technical</title>
    <link>http://www.fernicola.org/loquitor/</link>
    <description>The views and postings in this site represent my personal opinions and not necessarily those of my employer</description>
    <dc:language>en</dc:language>
    <admin:errorReportsTo rdf:resource="mailto:" />
    <generator>Serendipity 0.8.2 - http://www.s9y.org/</generator>
    <webMaster>pablo@fernicola.org</webMaster>
<pubDate>Tue, 07 Aug 2007 18:46:18 GMT</pubDate>

    <image>
        <url>http://www.fernicola.org/loquitor/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Pablo Fernicola's Personal Blog - Technical - The views and postings in this site represent my personal opinions and not necessarily those of my employer</title>
        <link>http://www.fernicola.org/loquitor/</link>
        <width>100</width>
        <height>21</height>
    </image>
<item>
    <title>What to use for fast 2D graphics?</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/48-What-to-use-for-fast-2D-graphics.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/48-What-to-use-for-fast-2D-graphics.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=48</wfw:comment>
    <slash:comments>7</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=48</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
Got this question on email today:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;I need to build the fastest possible 2D grid control for a trading application (no 3D whatsoever). Should I use DirectX or GDI+? &lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
Which is a pretty good question.  We give a lot of overview and background material in the SDK, but not a lot of prescriptive guidance.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/48-guid.html#extended&quot;&gt;Continue reading &quot;What to use for fast 2D graphics?&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Mon, 06 Aug 2007 23:01:04 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/48-guid.html</guid>
    </item>
<item>
    <title>Desktop Applications - CNET's WPF gallery</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/46-Desktop-Applications-CNETs-WPF-gallery.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/46-Desktop-Applications-CNETs-WPF-gallery.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=46</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=46</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
On the topic of released WPF applications, I came across &lt;a href=&quot;http://news.com.com/2300-1016_3-6152711-1.html?tag=ne.gall.pg&quot;&gt;this&lt;/a&gt; picture gallery on CNET's web site, from January, with screen shots of The North Face kiosk, Scripps Research Institute's 3D utility, Yahoo's messenger, and Print Shop Zoom.&lt;br /&gt;
&lt;br /&gt;
-Pablo    </content:encoded>
    <pubDate>Mon, 19 Mar 2007 14:28:35 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/46-guid.html</guid>
    </item>
<item>
    <title>To the Max team - Thanks!</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/43-To-the-Max-team-Thanks!.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/43-To-the-Max-team-Thanks!.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=43</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=43</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
As the Max project get to its conclusion, I would like to thank the whole team for the improvements to Windows Presentation Foundation that they championed, the feedback and bug reports which will benefit all WPF developers, and for their thought leadership and innovative thinking which they demonstrated within their product.&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/43-guid.html#extended&quot;&gt;Continue reading &quot;To the Max team - Thanks!&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Fri, 03 Nov 2006 20:00:00 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/43-guid.html</guid>
    </item>
<item>
    <title>A Geek's tour of the New York Times's Times Reader</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/37-A-Geeks-tour-of-the-New-York-Timess-Times-Reader.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/37-A-Geeks-tour-of-the-New-York-Timess-Times-Reader.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=37</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=37</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
Now that more folks are using the Times Reader, I thought I would give a guided tour of the application.  This will be a geeky tour, not targeted at the average user/reader.  I will be highlighting things that come &quot;for free&quot; by using Windows Presentation Foundation, and some really cool things that were done at the application level.&lt;br /&gt;
&lt;br /&gt;
I do a lot of talks and demonstrations of Windows Presentation Foundation, but there are very few demos that are as good as real applications like the Times Reader to show what is possible with the best development platform available in the industry.  While the functionality that the Times Reader uses is the same as in my demo applications, what sets the Times Reader appart is the quality of the content, the attention to detail that the application developers put into it, and the overall feel of the application, refined as the newspaper.  So, let me start by pointing out that this is a great application and I encourage you to get it &lt;a href=&quot;http://firstlook.nytimes.com/?category_name=times%20reader&quot;&gt;here&lt;/a&gt;.  &lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/37-guid.html#extended&quot;&gt;Continue reading &quot;A Geek's tour of the New York Times's Times Reader&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Tue, 03 Oct 2006 22:35:00 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/37-guid.html</guid>
    </item>
<item>
    <title>Test Stress Day for the New York Times Reader</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/31-Test-Stress-Day-for-the-New-York-Times-Reader.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/31-Test-Stress-Day-for-the-New-York-Times-Reader.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=31</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=31</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
The &lt;a href=&quot;http://www.wired.com/news/technology/0,71740-0.html?tw=wn_index_2&quot;&gt;article &lt;/a&gt; by Jeff Koyen in Wired News about the New York Times Reader, brought to mind a  Friday, a couple of weeks ago, when we were testing a few things before breaking for the weekend.&lt;br /&gt;
&lt;br /&gt;
Jeff's article is the best one I have read on this application.  And Jeff &lt;i&gt;gets&lt;/i&gt; it.  In his article he has pictures of the reader running on a small Fujitsu tablet, at different orientations with the content adapting appropiately. This application is a great example of the power of the integrated platform, where text and document functionality are first class peers to UI elements and graphics.  Since WPF provides a platform, not just an end point, others can build applications, content, and experiences, that are just not feasible today.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/31-guid.html#extended&quot;&gt;Continue reading &quot;Test Stress Day for the New York Times Reader&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Thu, 14 Sep 2006 00:20:51 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/31-guid.html</guid>
    </item>
<item>
    <title>Into the Vista End Game</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/28-Into-the-Vista-End-Game.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/28-Into-the-Vista-End-Game.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=28</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=28</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
Today was not only a great day here in Redmond, sunny and hot, a gorgeous end of Summer afternoon, but it was also a celebration of Windows Vista Release Candidate 1.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 640px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;img width='640' height='398' border='0' hspace='5' src='http://www.fernicola.org/loquitor/uploads/WindowsVistaRC1PartyShirt1.jpg' alt='' /&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;This is how the day felt&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Also note that the RC 1 of the .NET Framework 3.0 is now &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=19E21845-F5E3-4387-95FF-66788825C1AF&amp;displaylang=en&quot;&gt;posted&lt;/a&gt;!&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/28-guid.html#extended&quot;&gt;Continue reading &quot;Into the Vista End Game&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Fri, 01 Sep 2006 21:32:41 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/28-guid.html</guid>
    </item>
<item>
    <title>You Feedback and Performance Analysis</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/27-You-Feedback-and-Performance-Analysis.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/27-You-Feedback-and-Performance-Analysis.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=27</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=27</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
One member of the WPF community sent me and the Performance team a very detailed question and analysis on 3D performance.  We greatly appreciate his effort.&lt;br /&gt;
&lt;br /&gt;
Tim has the full details &lt;a href=&quot;http://blogs.msdn.com/timothyc/archive/2006/08/31/734308.aspx&quot;&gt;here&lt;/a&gt; on how seemingly small things can make a lot of difference in the performance of your application.  These are details that over the next 10 years will become second nature to Windows developers, just as similar tricks related to Win32 programming are well known today.&lt;br /&gt;
&lt;br /&gt;
We really wish to thank all community members for their contribution, feedback, and participation in the CTP and Beta releases.  You are making WPF a better product, and in return we hope we are delivering you a better platform for your great applications to flourish.&lt;br /&gt;
&lt;br /&gt;
Since WPF is a new platform, with new performance characteristics, please remember to book some time in your development schedule for performance tunning, and do profile as you go along as part of your development process.  Don't wait until the whole project is built before you start to take measure of where the processing time is spent.    </content:encoded>
    <pubDate>Thu, 31 Aug 2006 20:31:14 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/27-guid.html</guid>
    </item>
<item>
    <title>Charles Petzold WPF Book</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/26-Charles-Petzold-WPF-Book.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/26-Charles-Petzold-WPF-Book.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=26</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=26</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
As you likely already know from reading my other postings, Windows Presentation Foundation sets a new baseline for an application development framework, not only for Windows development, but across the industry. Of note are the integration of UI, documents, and media functionality into a consistent programming model, and the way that this set of functionality interoperates, as well as the expressibility of these concepts in XML (the set of XML tags is referred to as XAML).&lt;br /&gt;
&lt;br /&gt;
It is sometimes hard for people to break out of the &quot;mental boxes&quot; that were built in relation to software development by the use of isolated APIs, islands of functionality, that everyone has had to contend with so far.  WPF provides several new concepts and has a lot of material for a writer to cover.  This book does the best job so far in covering the breadth of knowledge that you will need to develop WPF based applications, and brings together all the key concepts. &lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/26-guid.html#extended&quot;&gt;Continue reading &quot;Charles Petzold WPF Book&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Wed, 30 Aug 2006 23:47:26 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/26-guid.html</guid>
    </item>
<item>
    <title>Graphics requirements for Windows Vista and WPF applications</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/21-Graphics-requirements-for-Windows-Vista-and-WPF-applications.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/21-Graphics-requirements-for-Windows-Vista-and-WPF-applications.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=21</wfw:comment>
    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=21</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
One of the readers sent me a question on email along these lines&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;We're looking at a hardware refresh for our mobile force and run approximately a 3 year hardware cycle.  We're currently trying to decide between a 'standard' laptop video adapter that uses shared memory, but would not be able to run Vista Aero and a video adapter with 128MB of dedicated video ram (Aero capable).  Seeing as there isn't a business requirement for Aero, we didn't see that as a big stumbling block.  But, we also want to make sure we don't constrain our inhouse developers for future development. &lt;br /&gt;
&lt;br /&gt;
So, my question is basically this... are there any sort of minimum requirements for using WPF/Avalon?  Do you see 'shared memory' video cards becoming extinct following the deployment of Vista?&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
My answer:&lt;br /&gt;
&lt;br /&gt;
There are no minimum &lt;i&gt;hardware &lt;/i&gt;requirements for WPF (it does require at least Windows XP SP2).  Any minimum HW requirements will come from the content and applications that you choose to build using WPF.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/21-guid.html#extended&quot;&gt;Continue reading &quot;Graphics requirements for Windows Vista and WPF applications&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Thu, 03 Aug 2006 23:21:14 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/21-guid.html</guid>
    </item>
<item>
    <title>VS Live - Las Vegas - Q&amp;A</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/20-VS-Live-Las-Vegas-QA.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/20-VS-Live-Las-Vegas-QA.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=20</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=20</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
Had a great time this morning presenting at &lt;a href=&quot;http://www.ftponline.com/conferences/vslive/2006/lasvegas/&quot;&gt;VS Live&lt;/a&gt;.  Very engaged audience, both during the presentation and with questions afterwards.&lt;br /&gt;
&lt;br /&gt;
If there were questions I did not get to, or something folks came up with afterwards, please post them here.&lt;br /&gt;
&lt;br /&gt;
Also, I will post an update as soon as the .Net Framework 3.0 June CTP is posted.&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;update &lt;/b&gt;- the June CTP is posted &lt;a href=&quot;http://www.microsoft.com/downloads/details.aspx?FamilyId=8D09697E-4868-4D8D-A4CF-9B82A2AE542D&amp;displaylang=en&quot;&gt;here&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
-Pablo    </content:encoded>
    <pubDate>Thu, 22 Jun 2006 21:10:00 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/20-guid.html</guid>
    </item>
<item>
    <title>When to use WPF and when to use other technologies</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/19-When-to-use-WPF-and-when-to-use-other-technologies.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/19-When-to-use-WPF-and-when-to-use-other-technologies.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=19</wfw:comment>
    <slash:comments>16</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=19</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
WPF is not the end-all be-all of technologies (at least not yet &lt;img src=&quot;http://www.fernicola.org/loquitor/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt; ), so there are many cases where either you will still need to rely on other Windows APIs, or the other APIs are more appropiate for the task at hand.  I would like to provide some guidance as to the scenarios involved for different technologies in this post.&lt;br /&gt;
&lt;br /&gt;
Since I am mainly a graphics geek, I am going to focus on WPF and the following APIs:&lt;br /&gt;
&lt;ul&gt;&lt;li&gt;DirectShow&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;Direct3D&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;GDI/GDI+&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
In future releases we will extend the functionality in WPF to cover additional scenarios, as well as improve the integration with other APIs, so the guidance here is subject to change.  Your comments and requests are welcomed, to help us prioritize the scenarios that we should tackle first.&lt;br /&gt;
&lt;br /&gt;
The first concept that is going to be a common thread in dealing with many of these scenarios is HwndHost (&lt;a href=&quot;http://windowssdk.msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref33/html/T_System_Windows_Interop_HwndHost.asp&quot;&gt;HwndHost at MSDN&lt;/a&gt; and &lt;a href=&quot;http://blogs.msdn.com/nickkramer/archive/2005/07/18/440085.aspx&quot;&gt;Nick's article on HwndHost&lt;/a&gt;).  This enables you to take content that is drawn using other APIs and host it within your WPF application.&lt;br /&gt;
&lt;br /&gt;
There is a limitation with HwndHost in that you will not be able to apply some graphical transformations on the hwndhost content, like applying transparency or using it as a texture.  Another limitation is that likely you are using unmanaged code to create the content in the hwnd, which means that this will not work in a XAML Browser Application (xbap).&lt;br /&gt;
&lt;br /&gt;
I am likely to follow up this posting with some background on the architectural decisions we made early on, as well as the big bets on technology trends we decided to place in late 2000/early 2001 as we started to design the WPF architecture.&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/19-guid.html#extended&quot;&gt;Continue reading &quot;When to use WPF and when to use other technologies&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Tue, 28 Mar 2006 23:52:43 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/19-guid.html</guid>
    </item>
<item>
    <title>WPF- Pick Your API Abstraction</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/17-WPF-Pick-Your-API-Abstraction.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/17-WPF-Pick-Your-API-Abstraction.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=17</wfw:comment>
    <slash:comments>29</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=17</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
Recently we have been getting several questions on hardware acceleration.  Some folks are running the Perforator tool and noticing that although it indicates that their application is running in hardware, the application is still taxing the CPU.  This may seem confusing, so I will try to give some background in this posting, as well as cover the factored access/extensibility points within Windows Presentation Foundation and the technologies it builds on.&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Compute versus Render Bound&lt;/u&gt;&lt;br /&gt;
&lt;br /&gt;
Over time, we have found that most applications are compute bound (I am talking about Win32 applications here).  They spend most of their time performing calculations on the CPU, and this becomes their performance bottleneck.  With text applications, this can because of paragraph layout calculations.  For games it may be because of the physics engine.  Very few applications turn out to be render bound (games included).&lt;br /&gt;
&lt;br /&gt;
However, if you try to do 3D graphics or render with higher quality (anti-aliasing or sub-pixel ClearType) in software, as well as  just do a lot of rendering (scientific visualization and CAD programs), the application is likely to become render bound.  With WPF, we offload a lot of the rendering work to the GPU, and thus are able to provide high quality graphics without swamping the CPU.&lt;br /&gt;
&lt;br /&gt;
The bottom line for us is:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;if the CPU is busy doing graphics, it is not doing some other important task.&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
And, we dont want that to happen.  We want the CPU always to be busy doing useful work, and leaving the graphics to the GPU.  Also, as we develop WPF, we try to make it as much render bound as often as possible.  This way, as your end users get better graphics hardware, and the hardware evolves, the performance and/or quality of your application improves.&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/17-guid.html#extended&quot;&gt;Continue reading &quot;WPF- Pick Your API Abstraction&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Tue, 21 Mar 2006 01:47:15 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/17-guid.html</guid>
    </item>
<item>
    <title>Peaceful Coexistence - Windows Vista's Desktop Experience and Applications</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/16-Peaceful-Coexistence-Windows-Vistas-Desktop-Experience-and-Applications.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/16-Peaceful-Coexistence-Windows-Vistas-Desktop-Experience-and-Applications.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=16</wfw:comment>
    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=16</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
&lt;i&gt;I read and participate in newsgroups (and blogs) regularly.  This entry is derived from a recent long post of mine in response to some very passionate newsgroup posts by some folks using the latest Windows Vista CTP&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
The are a number of very positive &lt;a href=&quot;http://www.extremetech.com/article2/0,1697,1931920,00.asp&quot;&gt;reviews &lt;/a&gt;popping up of the latest Windows Vista CTP.  At the same time, there are a number of Windows users asking for even more eye candy on the desktop.  The resulting question is how to strike a balance between desktop coolness and application productivity.&lt;br /&gt;
&lt;br /&gt;
Let's begin by taking a look at how we are using the hardware today on the Windows Vista desktop and why, as well as what things will look like for the future.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;A bit of background for folks reading this:&lt;/i&gt;&lt;br /&gt;
&lt;br /&gt;
One of the minimum requirements in relation to graphics for Windows Vista is a Dx9 level card with a WDDM driver (this is the new driver model in Windows Vista).  However, even for graphics systems that fulfill this requirement, there is a huge range of performance and capabilities between the entry level and the top of the line cards (and a matching price delta as well).  There will even cards that go well beyond this requirement and provide Dx10 functionality.&lt;br /&gt;
&lt;br /&gt;
This variety is good, as it enables computer manufacturers to offer computers at different price points (or capabilities, when it comes to desktop vs portable vs ultra portable systems), and enables them to differentiate their offerings.  It is net good for the consumer as well, as folks can get computers from below $500 to several thousand dollars price point.&lt;br /&gt;
&lt;br /&gt;
When it comes to the desktop experience, Dx9 makes it possible for us to create the &quot;glass&quot; effect, transition animations for windows, live thumbnails, 3D stacking, and live previews in Alt-Tab.  Without Dx9 and the new driver model, we would not be able to deliver on this.&lt;br /&gt;
&lt;br /&gt;
As part of Windows Vista, we also enable a wider segment of the developer community to use the power of graphics through the Windows Presentation Foundation programming interfaces.  This new platform provides a huge step forward, in many cases revolutionary, in terms of what developers will be able to do on Windows. And it is not just for software developers.  Graphics designers will be able to generate content that benefits from hardware too (some cool tools &lt;a href=&quot;http://www.erain.com/products/zam3d/DefaultPDC.asp&quot;&gt;ZAM3D&lt;/a&gt; and &lt;a href=&quot;http://www.mobiform.com/&quot;&gt;Aurora&lt;/a&gt; for example), and even the text rendering in documents benefits from the hardware acceleration as well.&lt;br /&gt;
&lt;br /&gt;
So, we now have the desktop and we have applications benefiting from the graphics capabilities on the computer.  However, since the desktop is always running, the desktop and the applications share a finite resource (graphics processing and memory).  The DirectX team did an outstanding job in developing the new driver architecture (and the third party graphics developers as well in delivering the drivers) which enables the graphics processing and resources to be virtualized (similar to the scheduler and virtual memory for the OS).  But, both graphics processing and memory are still finite resources.  So, in fact, the desktop and applications are competing for finite resources.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;a href=&quot;http://www.fernicola.org/loquitor/index.php?/archives/16-guid.html#extended&quot;&gt;Continue reading &quot;Peaceful Coexistence - Windows Vista's Desktop Experience and Applications&quot;&lt;/a&gt;    </content:encoded>
    <pubDate>Thu, 02 Mar 2006 02:42:18 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/16-guid.html</guid>
    </item>
<item>
    <title>A Minimal Set of Windows Presentation Foundation PDC Talks</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/11-A-Minimal-Set-of-Windows-Presentation-Foundation-PDC-Talks.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/11-A-Minimal-Set-of-Windows-Presentation-Foundation-PDC-Talks.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=11</wfw:comment>
    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=11</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
Perhaps you do not have time to attend all WPF talks at the PDC, so here is my recommendation on the minimal set of talks to go to (I know I am leaving a lot of great talks out of this, but I wanted to give the maximum breadth, with the minimal number of talks):&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Tuesday&lt;/u&gt;&lt;br /&gt;
&lt;li&gt;PRS 200  Presentation keynote&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS 305  Lap around&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Wednesday&lt;/u&gt;&lt;br /&gt;
&lt;li&gt;PRS 317  Graphics designers and WPF&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS 309  Graphics roadmap&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS 313  Win32 integration&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS 314  Application services&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Thursday&lt;/u&gt;&lt;br /&gt;
&lt;li&gt;PRS 324  Data binding&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS 327  Performance tuning&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;u&gt;Friday&lt;/u&gt;&lt;br /&gt;
&lt;li&gt;PRS 330  Document content&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS 435  Architecture overview&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
Those are not the titles of the talks by the way, just my shorthand description.&lt;br /&gt;
&lt;br /&gt;
Here is a link to the list of &lt;a href=&quot;http://cs.ferncrk.com/blogs/stuart/archive/2005/09/09/pdc_bof_schedule.aspx&quot;&gt;Birds of a Feather &lt;/a&gt; sessions&lt;br /&gt;
&lt;br /&gt;
-Pablo&lt;br /&gt;
&lt;a href='http://channel9.msdn.com/tags/pdc05' rel='tag'&gt;PDC05&lt;/a&gt;    </content:encoded>
    <pubDate>Tue, 13 Sep 2005 01:48:22 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/11-guid.html</guid>
    </item>
<item>
    <title>Roadmap to the Graphics Talks</title>
    <link>http://www.fernicola.org/loquitor/index.php?/archives/7-Roadmap-to-the-Graphics-Talks.html</link>
<category>Technical</category>    <comments>http://www.fernicola.org/loquitor/index.php?/archives/7-Roadmap-to-the-Graphics-Talks.html#comments</comments>
    <wfw:comment>http://www.fernicola.org/loquitor/wfwcomment.php?cid=7</wfw:comment>
    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://www.fernicola.org/loquitor/rss.php?version=2.0&amp;type=comments&amp;cid=7</wfw:commentRss>
    <author>pablo@fernicola.org (Pablo Fernicola)</author>
    <content:encoded>
We have a good set of talks related to graphics in this PDC:&lt;br /&gt;
&lt;br /&gt;
&lt;li&gt;PRS309 - Overview of Vista Graphics&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS325  2D, 3D, and Text&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS328  Imaging, Effects, Media and Animation in WPF&lt;/li&gt;&lt;br /&gt;
&lt;li&gt;PRS311 and PRS416  Direct3D&lt;/li&gt;&lt;br /&gt;
&lt;br /&gt;
Here are my personal recommendations on how to approach and plan for these talks.  You can think of them as being broken up along three tracks:&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;For general developers&lt;/i&gt; - PRS309, with PRS325 and PRS328 optional.&lt;br /&gt;
If you are not the graphics person for your team or company, but need to get an idea of what is coming in relation to graphics, you only need to attend PRS309, and then you can follow up with one or both of the other talks if you are interested.  This will give you some information to take back to your team members/company, and point them to the more in-depth talks.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;For developers with interest on graphics, text, data visualization, etc&lt;/i&gt; - PRS309, PRS325, PRS328, with PRS311 and PRS416 optional.&lt;br /&gt;
This will give you the best breadth of knowledge in relation to what is provided in Windows Vista.&lt;br /&gt;
&lt;br /&gt;
&lt;i&gt;For Direct3D developers&lt;/i&gt; - PRS309,  PRS311, PRS416 with PRS325, PRS328 optional.&lt;br /&gt;
If you are a Direct3D developer today, you will most likely continue to program at this level.  But you may also want to get an idea of what other services are available by attending the optional talks.&lt;br /&gt;
&lt;br /&gt;
And, of course, if you are really into graphics, go to all five talks (and likely you would still want more) &lt;img src=&quot;http://www.fernicola.org/loquitor/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;.&lt;br /&gt;
&lt;br /&gt;
The advances in relation to graphics are significant and industry leading, and not only do they simplify the development process, but they also bring along better quality and performance.  The new functionality and the integration of User Interface, Graphics/Media, and Documents, should unlock new levels of experiences in relation to graphics, both local and Web based.&lt;br /&gt;
&lt;br /&gt;
There are additional sessions on graphics we could have had, or gone more in depth on the topics we are already presenting (like Imaging), but there are only so many sessions that attendees can go to, and not everyone is interested on graphics.  I would welcome feedback from attendees after the conference on what topics they are interested on, and were either not covered or not covered in enough depth, and what folks would like follow up presentations on (for example at conferences in 2006).&lt;br /&gt;
&lt;br /&gt;
-Pablo    </content:encoded>
    <pubDate>Sun, 11 Sep 2005 02:39:16 -0700</pubDate>
    <guid isPermaLink="false">http://www.fernicola.org/loquitor/index.php?/archives/7-guid.html</guid>
    </item>
</channel>
</rss>
