<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" 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/"><channel><title>SilverLite : slperf</title><link>http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx</link><description>Tags: slperf</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Summary of the 20min perf talk</title><link>http://blogs.msdn.com/seema/archive/2009/03/24/summary-of-the-20min-perf-talk.aspx</link><pubDate>Wed, 25 Mar 2009 04:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9506018</guid><dc:creator>seemar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/seema/comments/9506018.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=9506018</wfw:commentRss><description>&lt;P&gt;The 20 minute talk is posted &lt;A class="" href="http://videos.visitmix.com/MIX09/T67M" target=_blank mce_href="http://videos.visitmix.com/MIX09/T67M"&gt;here&lt;/A&gt;. I spoke till the speaker timer started to flash at me (giant flashing clock), which resulted in having no time for a forum Q&amp;amp;A, but feel free to post your questions/comments down below. I'm always curious about what perf issues people are hitting.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Understanding perf issues&amp;nbsp;gives me an idea of how people are stretching the platform beyond our key scenarios, and which APIs/codepaths we should improve in the next version.&lt;/P&gt;
&lt;P&gt;Tim Sneath wrote an excellent &lt;A class="" href="http://blogs.msdn.com/tims/archive/2009/03/24/building-an-optimized-graphics-intensive-silverlight-application.aspx" target=_blank mce_href="http://blogs.msdn.com/tims/archive/2009/03/24/building-an-optimized-graphics-intensive-silverlight-application.aspx"&gt;writeup&lt;/A&gt; of my 20min mix session on writing an optimized SL app. I almost wish that I had his post to read off as a script! &lt;/P&gt;
&lt;P&gt;Talk Video &amp;amp; PPT: &lt;A href="http://videos.visitmix.com/MIX09/T67M"&gt;http://videos.visitmix.com/MIX09/T67M&lt;/A&gt; &lt;BR&gt;Tim's great summary: &lt;A href="http://blogs.msdn.com/tims/archive/2009/03/24/building-an-optimized-graphics-intensive-silverlight-application.aspx"&gt;http://blogs.msdn.com/tims/archive/2009/03/24/building-an-optimized-graphics-intensive-silverlight-application.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Cheers, Seema&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9506018" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/mix09/default.aspx">mix09</category></item><item><title>Silverlight Tip of the Day, some tips from the Silverlight perf talk</title><link>http://blogs.msdn.com/seema/archive/2008/11/25/silverlight-tip-of-the-day-some-tips-from-the-silverlight-perf-talk.aspx</link><pubDate>Wed, 26 Nov 2008 00:27:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9142804</guid><dc:creator>seemar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/seema/comments/9142804.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=9142804</wfw:commentRss><description>&lt;P&gt;Mike Snow posted a&amp;nbsp;few of the tips&amp;nbsp;from my PDC talk&amp;nbsp;here, it's a great summary. You can check it out &lt;A class="" href="http://silverlight.net/blogs/msnow/archive/2008/11/03/silverlight-tip-of-the-day-67-silverlight-performance-tips.aspx" target=_blank mce_href="http://silverlight.net/blogs/msnow/archive/2008/11/03/silverlight-tip-of-the-day-67-silverlight-performance-tips.aspx"&gt;here&lt;/A&gt;. Cheers! Seema&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9142804" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>Getting to the Media FastPath</title><link>http://blogs.msdn.com/seema/archive/2008/11/07/getting-to-the-media-fastpath.aspx</link><pubDate>Sat, 08 Nov 2008 05:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9053529</guid><dc:creator>seemar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/seema/comments/9053529.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=9053529</wfw:commentRss><description>&lt;P&gt;Earlier this week, us in the Silverlight perf and media teams reviewed Ben Waggoner's tutorial on how to build fast media players, check it out here:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://on10.net/blogs/benwagg/Building-high-performance-Silverlight-Media-Players/"&gt;http://on10.net/blogs/benwagg/Building-high-performance-Silverlight-Media-Players/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Tis a great how to guide.&lt;/P&gt;
&lt;P&gt;(now I'm really going home. Seema)&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9053529" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/media/default.aspx">media</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>EnableFramerateCounter, Setting your Framerate correctly</title><link>http://blogs.msdn.com/seema/archive/2008/11/07/enableframeratecounter-setting-your-framerate-correctly-and-a-debug-bug.aspx</link><pubDate>Sat, 08 Nov 2008 04:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9053523</guid><dc:creator>seemar</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/seema/comments/9053523.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=9053523</wfw:commentRss><description>&lt;P&gt;&lt;U&gt;Debug tool&lt;BR&gt;&lt;/U&gt;I posted about EnableFramerateCounter before -- it is a simple little debugging setting that you can use when trying to figure out:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Which of these designs hurts my framerate more?&lt;/LI&gt;
&lt;LI&gt;If&amp;nbsp;I add this module in, does it hurt my framerate? &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;To figure these out, you can:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Set the plugin's desired framerate at 1000 (&lt;EM&gt;&lt;SPAN class=parameter sdata="paramReference"&gt;silverlightObject&lt;/SPAN&gt;.&lt;B&gt;settings&lt;/B&gt;.&lt;STRONG&gt;MaxFrameRate&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;OR&lt;EM&gt; &lt;/EM&gt;&lt;A href="http://wcpsdk/wpfe/html/171bb7cd-b7db-49f1-8fbc-42eb5c8371e2.htm" mce_href="http://wcpsdk/wpfe/html/171bb7cd-b7db-49f1-8fbc-42eb5c8371e2.htm"&gt;&lt;EM&gt;Silverlight.CreateObjectEx&lt;/EM&gt;&lt;/A&gt;&lt;EM&gt;({properties:{framerate:'&lt;SPAN class=parameter sdata="paramReference"&gt;framerate&lt;/SPAN&gt;'}})&lt;/EM&gt;) &lt;/LI&gt;
&lt;LI&gt;Turn on the EnableFramerateCounter, which should show up in the status bar (IE/Firefox --&amp;gt; View --&amp;gt; Status Bar). &lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;U&gt;Desired Framerates&lt;BR&gt;&lt;/U&gt;&lt;EM&gt;Make sure to reset the framerate to the suggested framerates for your app: Media apps @60fps or RIA/Control apps @20fps before launching your app to the public.&lt;BR&gt;&lt;/EM&gt;When trying to figure out the desired framerate of an animation or control-heavy app, use real people (not developers/designers) to gauge whether increasing the fps above 20fps makes sense. If you set your framerate at an unnecessarily high value, it will throttle the computer's cycles -- and could result in a jerkier effect than if you just had a lower framerate. So where 60fps might be slick and easy for your devbox, it could be a pain for your customer's machine -- so only use what you need.&lt;/P&gt;
&lt;P&gt;The desired framerate of plugin hosting media is always 60fps -- this gives the media pipeline the most number of ticks to figure out the optimal timing of presenting a frame. Silverlight will decode at the framerate of the encoded video (this usually is &amp;lt;32fps), and we present the frames in sync with the audio. To summarize roughly, if the platform doesn't receive a tick in sync with the audio, then the platform will decode the frame, and then just throw it away. If you don't understand this, just trust me and use framerate=60. &lt;/P&gt;
&lt;P&gt;Technically, you could set the framerate dynamically -- I haven't tried this, but it might be a useful thing to try out if your app has both media and heavy controls/animations. &lt;/P&gt;
&lt;P&gt;&lt;U&gt;Debugging Settings&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;So here are the debugging settings that&amp;nbsp;I use (not all at once, of course)&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;Sys.Silverlight.&lt;B style="mso-bidi-font-weight: normal"&gt;createObjectEx&lt;/B&gt;({&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;source: "xaml/Scene.xaml",&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;parentElement: document.getElementById("SilverlightControlHost"),&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;id: "SilverlightControl",&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;properties: {&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;width: "500", height: "500",&lt;B&gt; &lt;/B&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;isWindowless: false, &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;background: "FF000000", &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;framerate: &lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;"&lt;B&gt;10000&lt;/B&gt;"&lt;B&gt; &lt;/B&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;}, &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;events: { onLoad:onLoadHandler} });&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;function onLoadHandler() {&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;agControl = document.getElementById("SilverlightControl");&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* To see the framerate displayed in the browser status bar */&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;agControl.settings.EnableFrameRateCounter = true;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;/* To see the redraw regions*/&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;agControl.settings.EnableRedrawRegions= true;&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;}&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: Consolas; mso-fareast-font-family: +mn-ea; mso-bidi-font-family: +mn-cs; mso-font-kerning: 12.0pt"&gt;
&lt;P&gt;I accidentally dumped the sugar canister into my tea, time to go home.&lt;BR&gt;Seema&lt;BR&gt;&lt;/P&gt;&lt;/SPAN&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9053523" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/media/default.aspx">media</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>PDC: Deep Dive into building an optimized graphics-intensive SL app</title><link>http://blogs.msdn.com/seema/archive/2008/11/03/pdc-deep-dive-into-building-an-optimized-graphics-intensive-sl-app.aspx</link><pubDate>Mon, 03 Nov 2008 22:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9034837</guid><dc:creator>seemar</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/seema/comments/9034837.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=9034837</wfw:commentRss><description>&lt;P&gt;Thank you everyone for attending. For those who could not make it, you can check out my talk &lt;A class="" href="http://channel9.msdn.com/pdc2008/PC06/" target=_blank mce_href="http://channel9.msdn.com/pdc2008/PC06/"&gt;here on channel9&lt;/A&gt;, it was PC06:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;EM&gt;In this deep dive session we pull the covers off of the layout, rendering, and media pipelines to discuss how things work and how to optimize your application. This session covers how to set goals with your designer and developer teams, what happens behind the scenes with control visuals, the underlying mechanisms of our media stack, and how to profile your application.&lt;/EM&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;My deck is &lt;A class="" href="http://eicyzw.bay.livefilestore.com/y1p3U8JnTBQHM-N4gRYmKu86ySWq4k6q5iP44Pk52wAToEhhnG819bDI94k7IE6sx5j883rpVy99I0/PDC%20ramchandani2.pptx?download" mce_href="http://eicyzw.bay.livefilestore.com/y1p3U8JnTBQHM-N4gRYmKu86ySWq4k6q5iP44Pk52wAToEhhnG819bDI94k7IE6sx5j883rpVy99I0/PDC%20ramchandani2.pptx?download"&gt;here&lt;/A&gt;, my halo video player is &lt;A class="" href="http://eicyzw.bay.livefilestore.com/y1p8uGw9JZSN0tG3FOpu6Vhb-2jYTHoJG3lqVhG7-5oYrXztVlZ34e9leVE6CNJV9aUAYeEg5SemcQ/haloplayer.zip?download" target=_blank mce_href="http://eicyzw.bay.livefilestore.com/y1p8uGw9JZSN0tG3FOpu6Vhb-2jYTHoJG3lqVhG7-5oYrXztVlZ34e9leVE6CNJV9aUAYeEg5SemcQ/haloplayer.zip?download"&gt;here&lt;/A&gt;. The instructions to use xperf are available at this &lt;A class="" href="http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx" mce_href="http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx"&gt;post&lt;/A&gt;. &lt;/P&gt;
&lt;P&gt;Please fill out an &lt;A class="" href="https://sessions.microsoftpdc.com/ws/evalredir.aspx?sessionid=e519c65c-e8c7-4ad1-a99f-c77237ca1c66" mce_href="https://sessions.microsoftpdc.com/ws/evalredir.aspx?sessionid=e519c65c-e8c7-4ad1-a99f-c77237ca1c66"&gt;eval &lt;/A&gt;after watching. I was honored to do a talk&amp;nbsp;at PDC and&amp;nbsp;I do read and appreciate all feedback.&lt;/P&gt;
&lt;P&gt;&lt;A class="" href="http://channel9.msdn.com/pdc2008/PC06/" target=_blank mce_href="http://channel9.msdn.com/pdc2008/PC06/"&gt;&lt;IMG title="Screenshot of talk recording" style="WIDTH: 306px; HEIGHT: 171px" height=171 alt="Screenshot of talk recording" src="http://eicyzw.bay.livefilestore.com/y1pWPB44BXgBjrB6xri42351unfUXgmFaOKOFy2OXaHBPfgIHs5ozcEWamQ_blGsi1oJuq4A0FN7-Q/pdcscreenshot.jpg" width=306 align=middle border=2 mce_src="http://eicyzw.bay.livefilestore.com/y1pWPB44BXgBjrB6xri42351unfUXgmFaOKOFy2OXaHBPfgIHs5ozcEWamQ_blGsi1oJuq4A0FN7-Q/pdcscreenshot.jpg"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Cheers, S&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9034837" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/avperf/default.aspx">avperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/media/default.aspx">media</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>XPerf: A CPU Sampler for Silverlight</title><link>http://blogs.msdn.com/seema/archive/2008/10/08/xperf-a-cpu-sampler-for-silverlight.aspx</link><pubDate>Thu, 09 Oct 2008 07:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8992452</guid><dc:creator>seemar</dc:creator><slash:comments>21</slash:comments><comments>http://blogs.msdn.com/seema/comments/8992452.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=8992452</wfw:commentRss><description>&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;For &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;those of you who are a) building graphics-intensive applications or b) trying to debug your performance, &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;I would like to introduce xperf and xperfview. These are two profiling tools which can be used to analyze the performance of any Microsoft technology, including Silverlight. &lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;These tools have existed internally for quite some time, and I'm excited to see that they have been released. I use xperf as my first step for profiling any app -- it's a simple CPU sampler and gives you a peek to why on earth something is taking up so many CPU cycles. XPerf plugs into the Event Tracing for Windows library, and listens to all the internally embedded events that all Windows products trigger. With the publicly available Silverlight symbols, you can see how these events line back to what Silverlight is doing under the hood, while your app is running.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Note: with xperf, managed code (your app code) will show up as samples on the methods that your app code calls. XPerf does not have the capabilities to show CPU cycles in managed code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;With XPerf, one can find answers to questions like:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 18.5pt; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Is my app asking Silverlight to constantly spin on CPU cycles.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 18.5pt; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Whether one UI layout or design is more expensive than the other.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 18.5pt; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Whether the time is spent in drawing (agcore.dll), the plug-in’s interactions with (npctrl.dll), or in compilation/JIT (coreclr.dll)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 18.5pt; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;How much is stretching/blending/rotating that video going to cost in terms of CPU cycles? How about if you encode it differently?&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Please note that the tools only work on Vista and Windows Server 2k3. For profiling on a mac, see &lt;A href="http://blogs.msdn.com/seema/archive/2007/10/02/stack-of-post-its-on-perf.aspx"&gt;my previous post&lt;/A&gt; on how to use Shark from the &lt;A href="http://developer.apple.com/tools/performance/"&gt;Apple CHUD tools&lt;/A&gt;.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The first-time instructions are as follows:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="COLOR: #003300"&gt;&lt;FONT face=Calibri size=3&gt;Install XPerf (formerly xperfinfo) and xperfview (formerly xperf) as available here: &lt;/FONT&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri color=#003300 size=3&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc305187.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc305187.aspx&lt;/A&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;[10/9-9am I updated the above link: download link &lt;A href="http://www.microsoft.com/whdc/system/sysperf/perftools.mspx"&gt;http://www.microsoft.com/whdc/system/sysperf/perftools.mspx&lt;/A&gt;]&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Close everything that is not user-specific (close VS, but keep your virus checker, etc). &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Startup your sample &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;I personally start up my sample without profiling because the startup sampling is very different from that of the runtime. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;3.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Open an &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;Administrator-level command prompt&lt;/U&gt;. &lt;/B&gt;Set your symbol path in the cmd shell:&lt;SPAN style="COLOR: #003300; mso-bidi-font-style: italic"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #339966; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Courier New'"&gt;set&amp;nbsp;_NT_SYMBOL_PATH=&amp;nbsp;srv*C:\symbols*http://msdl.microsoft.com/downloads/symbols&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;This will set your symbol path to point to the Microsoft symbol server. The symbol server hosts debugging symbols for most all Microsoft products.&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/I&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;[&lt;STRONG&gt;update&lt;/STRONG&gt;: cd into C:\Program Files\Microsoft Windows Performance Toolkit]&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;/SPAN&gt;&lt;/I&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: #339966; FONT-FAMILY: Consolas"&gt;xperf -on base&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Run the app for maybe 10 seconds for this initial run. We want to understand what method is taking up the most cycles. At the end of this, you will see a graph of CPU usage over time – so you can use various methods to see where time is going: repeatedly execute a user action (expand/collapse, scroll, etc), let the media play for a while, etc. If you are trying to compare several different options, you can execute different actions at widely-spaced intervals, and compare the graphs for each.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;5.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #339966; FONT-FAMILY: Consolas"&gt;xperf –d myprofile.etl&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Step #4 will both stop the profile and start the writing of the event trace log (etl) file. This can take a while, depending on the complexity of your application, how many other apps were running, and how long the profile extended. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;6.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #339966; FONT-FAMILY: Consolas"&gt;xperfview myprofile.etl&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;We see now see multiple graphs. We are most interested in that of the CPU cycles, which will look something like this:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /&gt;&lt;v:shapetype id=_x0000_t75 stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"&gt;&lt;v:stroke joinstyle="miter"&gt;&lt;/v:stroke&gt;&lt;v:formulas&gt;&lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 1 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum 0 0 @1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @2 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @3 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @0 0 1"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @6 1 2"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelWidth"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @8 21600 0"&gt;&lt;/v:f&gt;&lt;v:f eqn="prod @7 21600 pixelHeight"&gt;&lt;/v:f&gt;&lt;v:f eqn="sum @10 21600 0"&gt;&lt;/v:f&gt;&lt;/v:formulas&gt;&lt;v:path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"&gt;&lt;/v:path&gt;&lt;o:lock aspectratio="t" v:ext="edit"&gt;&lt;/o:lock&gt;&lt;/v:shapetype&gt;&lt;/SPAN&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;IMG title="xperfview full graph" style="WIDTH: 1009px; HEIGHT: 283px" height=283 alt="xperfview full graph" hspace=3 src="http://eicyzw.bay.livefilestore.com/y1pHAgHp6EREhr2s3jGpqW9U5tBTZhj6NeuaWwSzSB76tUx2Biu_RULUOsgxPC90cj5DfXAo0rb0ns/gymnast_graph1.jpg" width=1009 vspace=3 border=1 mce_src="http://eicyzw.bay.livefilestore.com/y1pHAgHp6EREhr2s3jGpqW9U5tBTZhj6NeuaWwSzSB76tUx2Biu_RULUOsgxPC90cj5DfXAo0rb0ns/gymnast_graph1.jpg"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;In my sample, I have a dual-core machine so you see two lines, one for each CPU. This graph is of a media file playing, which should have an almost steady hit for the CPU. I can drag and select any section of the graph and take a closer look:&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;7.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Trace&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: Wingdings"&gt;à&lt;/SPAN&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Load Symbols&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;8.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Select the area of the CPU graph that you want to see&lt;SPAN style="COLOR: #003300; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL style="MARGIN-TOP: 0in" type=1&gt;
&lt;OL style="MARGIN-TOP: 0in" type=1&gt;
&lt;UL style="MARGIN-TOP: 0in" type=disc&gt;
&lt;UL style="MARGIN-TOP: 0in" type=circle&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle; mso-list: l3 level4 lfo2; tab-stops: list 2.0in"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Right-click and select &lt;B&gt;Summary Table&lt;/B&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/OL&gt;&lt;/OL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1.75in; VERTICAL-ALIGN: middle"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;IMG title="How to open summary table" style="WIDTH: 424px; HEIGHT: 511px" height=511 alt="How to open summary table" hspace=3 src="http://eicyzw.bay.livefilestore.com/y1p0-8cICT7eWLRO2DB-5VNM0nHTgnSraDbXruTEwXx758hm0UAjzvc4-GI3OBuYr3vB1H2g5iuDsc/gymnast_graph2.jpg" width=424 vspace=3 border=1 mce_src="http://eicyzw.bay.livefilestore.com/y1p0-8cICT7eWLRO2DB-5VNM0nHTgnSraDbXruTEwXx758hm0UAjzvc4-GI3OBuYr3vB1H2g5iuDsc/gymnast_graph2.jpg"&gt;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt 1.75in; VERTICAL-ALIGN: middle"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;9.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="COLOR: #003300"&gt;Accept the EULA for using symbols, expand IExplore.exe (or firefox.exe)&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; VERTICAL-ALIGN: middle"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;At this point, you’ll see how the time breaks down between the different processes and modules running within windows. Agcore.dll, npctrl.dll, and coreclr.dll are all Silverlight. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l2 level2 lfo1; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'; mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;10.&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;If the symbols server has correctly been set, you’ll see that you can expand and see the breakdown of time in each method call within agcore.dll:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt 1in"&gt;&lt;SPAN style="mso-no-proof: yes"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&lt;IMG title="Summary Table of Olympics on Beta2 Bits" style="WIDTH: 926px; HEIGHT: 317px" height=317 alt="Summary Table of Olympics on Beta2 Bits" hspace=3 src="http://eicyzw.bay.livefilestore.com/y1pNI0mXBl2dPSJOLYTwBS0106QkMod_-RIaVY8FEx_F-dZrdRpjyS0g5Dvp6cRS0Ow7x5UzbNBH6w/gymnast_summary.jpg" width=926 vspace=3 border=1 mce_src="http://eicyzw.bay.livefilestore.com/y1pNI0mXBl2dPSJOLYTwBS0106QkMod_-RIaVY8FEx_F-dZrdRpjyS0g5Dvp6cRS0Ow7x5UzbNBH6w/gymnast_summary.jpg"&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The way to read this graph is that IE is taking up 40% of the CPU on average, during the selected sample. Within that, 32% of the time is spent in Silverlight core (graphics/decoding/property engine, etc are all represented in agcore.dll), and then of that time, 29% (9.24/32.33) of the drawing time is spent in one method call. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;I style="mso-bidi-font-style: normal"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Note: with xperf, managed code (your app code) will show up as samples on the methods that your app code calls. XPerf does not have the capabilities to look at app code.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Now what? Well, with just the above think about how you can answer the questions at the top: &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Is my app asking Silverlight to constantly spin on CPU cycles. &lt;BR&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Do I see activity when the app does not seem to be doing anything? Where does the summary table say that time is going? Perhaps turn on EnableRedrawRegions and see if there is a draw being forced.&lt;/I&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Whether one UI layout or design is more expensive than the other. &lt;BR&gt;&lt;I style="mso-bidi-font-style: normal"&gt;When I scroll now, is my average CPU higher or lower than before?&lt;/I&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Whether the time is spent in drawing (agcore.dll), the plug-in’s interactions with (npctrl.dll), or in compilation/JIT (coreclr.dll) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: -0.25in; mso-list: l1 level1 lfo3"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;How much is stretching/blending/rotating that video going to cost in terms of CPU cycles? How about if you encode it differently? &lt;BR&gt;&lt;I style="mso-bidi-font-style: normal"&gt;Are there new methods that you see in the stack, now that you have stretched the media? Blended it? What is the average time for CPU cycles compared to your baseline? I know that it is cheaper for me to embed an icon overlay directly into the video, but what does it really cost in terms of CPU time?&lt;/I&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Note: The tools only work on Vista and Windows Server 2k3&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;For later usage, your usage pattern is quicker:&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo4; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;Set your symbol path in an &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;U&gt;Admin-level&lt;/U&gt;&lt;/B&gt; cmd shell:&lt;SPAN style="COLOR: #003300; mso-bidi-font-style: italic"&gt;&lt;BR&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #339966; FONT-FAMILY: Consolas; mso-bidi-font-family: 'Courier New'"&gt;set&amp;nbsp;_NT_SYMBOL_PATH=&amp;nbsp;srv*C:\symbols*http://msdl.microsoft.com/downloads/symbols&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoListParagraph style="MARGIN: 0in 0in 0pt 1in; VERTICAL-ALIGN: middle; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo4; tab-stops: list 1.0in"&gt;&lt;FONT size=3&gt;&lt;SPAN style="COLOR: #339966; FONT-FAMILY: Consolas"&gt;xperf -on base&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo4; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #339966; FONT-FAMILY: Consolas"&gt;xperf –d myprofile.etl&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV style="MARGIN: 0in 0in 0pt 1in; TEXT-INDENT: -0.25in; mso-list: l0 level2 lfo4; tab-stops: list 1.0in"&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #339966; FONT-FAMILY: Consolas"&gt;xperfview myprofile.etl&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; COLOR: #003300; FONT-FAMILY: 'Calibri','sans-serif'; mso-bidi-font-style: italic"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;The platform code and the CPU samples will change version to version, so please keep that in mind when profiling between upgrades. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 11pt; FONT-FAMILY: 'Calibri','sans-serif'"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;See anything interesting? Drop me a note!&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;/FONT&gt;&lt;/FONT&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Have fun! &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-FAMILY: 'Cambria','serif'; mso-fareast-font-family: 'MS Mincho'; mso-no-proof: yes"&gt;&lt;FONT size=3&gt;.seema.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8992452" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/avperf/default.aspx">avperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/media/default.aspx">media</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>Perf Debugging Tips: EnableRedrawRegions &amp;amp;amp; a performance bug in VideoBrush</title><link>http://blogs.msdn.com/seema/archive/2007/10/07/perf-debugging-tips-enableredrawregions-a-performance-bug-in-videobrush.aspx</link><pubDate>Mon, 08 Oct 2007 04:50:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5352558</guid><dc:creator>seemar</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/seema/comments/5352558.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=5352558</wfw:commentRss><description>&lt;P&gt;Was chatting with &lt;A class="" href="http://www.andybeaulieu.com/" mce_href="http://www.andybeaulieu.com/"&gt;Andy Beaulieu &lt;/A&gt;at Remix Boston, and he was commenting that it seems&amp;nbsp;that Silverlight only draws when needed -- it is true, we try to not waste your CPU cycles. For Perf debugging, a way to tell when you are causing a redraw is to turn on the control's &lt;EM&gt;EnableRedrawRegions&lt;/EM&gt; property. &lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;agControl.settings.EnableRedrawRegions = true;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;With this feature on, when a section of the plugin causes a draw, that section will draw in a different color. This setting is not for those susceptible to seizures =P&lt;/P&gt;
&lt;P&gt;&lt;U&gt;&lt;STRONG&gt;Bug found&lt;/STRONG&gt;&lt;/U&gt;: With this setting, I investigated a performance issue with &lt;STRONG&gt;&lt;A class="" href="http://msdn2.microsoft.com/en-us/library/bb404773.aspx" mce_href="http://msdn2.microsoft.com/en-us/library/bb404773.aspx"&gt;VideoBrush&lt;/A&gt;&lt;/STRONG&gt;.&amp;nbsp;In our 1.0 Silverlight bits,&amp;nbsp;VideoBrush always&amp;nbsp;requests a redraw in the next frame.&amp;nbsp;This is a bug. Unfortunately, if the control framerate is set to the default (60 fps), then any VideoBrush will be redrawn 60 times in a second. In actuality, VideoBrush should draw at the framerate that its media is getting refreshed (eg. 30fps, 15fps, or 0fps if paused), and should not take up so many CPU cycles. We have a fix for this bug in 1.1. If you are blocked by this bug, please let me know and I can pass the info along to our servicing team.&lt;/P&gt;
&lt;P&gt;&lt;EM&gt;[update] By the way, this bug was fixed in a servicing pack in dec 2007. &lt;/EM&gt;&lt;/P&gt;
&lt;P&gt;A &lt;STRONG&gt;workaround &lt;/STRONG&gt;is to set the framerate on your Silverlight control to be the same as the framerate of your video. There are visual artifacts to this workaround, but it is slight&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;Sys.Silverlight.createObjectEx({&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;source: "xaml/Scene.xaml",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;parentElement: document.getElementById("SilverlightControlHost"),&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;id: "SilverlightControl",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;properties: {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;width: "500",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;height: "500",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;background: "black",&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;STRONG&gt;framerate: &lt;/STRONG&gt;"&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;STRONG&gt;30&lt;/STRONG&gt;&lt;/FONT&gt;&lt;FONT face=Courier&gt;"&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //only as much as needed&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;}&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5352558" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/remix07boston/default.aspx">remix07boston</category><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/media/default.aspx">media</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>Macintosh &amp;amp; Silverlight perf...</title><link>http://blogs.msdn.com/seema/archive/2007/10/02/stack-of-post-its-on-perf.aspx</link><pubDate>Tue, 02 Oct 2007 23:15:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5247078</guid><dc:creator>seemar</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/seema/comments/5247078.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=5247078</wfw:commentRss><description>&lt;P&gt;I met recently with two designers trying to figure out "what was Silverlight doing under the covers? did I accidentally turn on some feature?"&amp;nbsp;&lt;/P&gt;
&lt;P&gt;My first thought is to reference my &lt;A class="" href="http://blogs.msdn.com/seema/archive/2007/08/09/silverlight-a-few-thoughts-on-minimizing-cpu-usage.aspx" mce_href="http://blogs.msdn.com/seema/archive/2007/08/09/silverlight-a-few-thoughts-on-minimizing-cpu-usage.aspx"&gt;post &lt;/A&gt;on how to minimize CPU usage. We have to learn how to conserve not only energy but CPU cycles (yes, even if you don't see a difference on your dev box)&lt;/P&gt;
&lt;P&gt;My second thought, as I stared at the designers' laptop:&amp;nbsp;have you checked out Apple's Shark tool made for the Mac? Pretty quick and easy to learn -- you can navigate through the entire callstack of Silverlight. &lt;/P&gt;
&lt;P&gt;For the Silverlight mac developers out there, check out Shark:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Using Shark: &lt;A href="http://developer.apple.com/tools/performance/optimizingwithsystemtrace.html"&gt;http://developer.apple.com/tools/performance/optimizingwithsystemtrace.html&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;Link to download "Computer Hardware Understanding Development" (CHUD) tools: &lt;A href="http://developer.apple.com/tools/download/"&gt;http://developer.apple.com/tools/download/&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;My general usage: &lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;Launch my silverlight application in a browser&lt;/LI&gt;
&lt;LI&gt;Direct Shark towards the browser's process&lt;/LI&gt;
&lt;LI&gt;Click on Start (it should have a 30sec timeout by default)&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;When you see the callstack, anything with agcore is from Silverlight.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Why is it named agcore?&amp;nbsp;From Wikipedia: "Ag from the Latin &lt;I&gt;Argentum&lt;/I&gt; is the chemical symbol for &lt;A title=Silver href="http://en.wikipedia.org/wiki/Silver"&gt;silver&lt;/A&gt;&amp;nbsp;"&lt;/P&gt;
&lt;P&gt;Enjoy, tell me about your experiences. Any successes? Any questions about what is showing up in the trace?&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=5247078" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item><item><title>Silverlight: A few thoughts on minimizing CPU usage</title><link>http://blogs.msdn.com/seema/archive/2007/08/09/silverlight-a-few-thoughts-on-minimizing-cpu-usage.aspx</link><pubDate>Fri, 10 Aug 2007 03:47:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4315999</guid><dc:creator>seemar</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/seema/comments/4315999.aspx</comments><wfw:commentRss>http://blogs.msdn.com/seema/commentrss.aspx?PostID=4315999</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;FONT face=Calibri size=3&gt;The first two suggestions will have the most drastic improvement on the performance of your Silverlight application, and can affect CPU usage, framerate, and application responsiveness.&lt;/FONT&gt; 
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;IsWindowless=false&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; is faster&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;FONT face=Calibri size=3&gt;Do not turn on isWindowless unless your design requires overlay of other HTML content on top of Silverlight content.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Opaque Background is faster&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;FONT face=Calibri size=3&gt;Do not set a transparent channel in the Silverlight HTML control background property. Setting the background to a transparent or semi-transparent value will add tremendous cost as each render call is forced through the blending pipeline, regardless if the transparency has any visual effect. (A background of 0, transparent, #11aabbcc, etc. will cause blending)&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;If you simply want to set the control’s background property to match that of the HTML, &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;background:document.body.style.backgroundColor&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; will suffice. &lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note: I am referring to the background of the Silverlight HTML control. Setting an opacity on elements within your Silverlight app has relatively minimal cost.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;I&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Note: if you do decide to use transparency, please make sure to test the performance on Mac:Safari.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Only offer the quality that is needed for your design. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Framerate: you can set the max framerate for the entire contents of the control in properties. Many websites run all animations and media at ~15fps, and most users do not notice.&lt;BR&gt;&lt;I&gt;Note: I set the value of the &lt;/I&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;I&gt;&lt;FONT size=3&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;framerate&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; property below.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/I&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Media: When encoding your media file, remember that the average media file on the web is roughly encoded at 320x230, with ~15fps. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 0.5in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l0 level1 lfo1"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Test &amp;amp; Debug&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri size=3&gt;Quality and performance vary on different machines, and even on different OS/browser configurations. &lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraph style="MARGIN: 0in 0in 10pt 1.25in; TEXT-INDENT: -0.25in; LINE-HEIGHT: 115%; mso-list: l1 level1 lfo2"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-bidi-font-family: Calibri"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT face=Calibri size=3&gt;-&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;The below onLoadHandler shows how to display the framerate, for debugging purposes, in IE or Safari’s status bar. If your desired framerate is out of reach, you should set the &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;framerate&lt;/SPAN&gt;&lt;FONT face=Calibri&gt; property lower so as not to peg the user’s CPU.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 1in; mso-add-space: auto"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;Sys.Silverlight.createObjectEx({&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;source: "xaml/Scene.xaml",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;parentElement: document.getElementById("SilverlightControlHost"),&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;id: "SilverlightControl",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;properties: {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;width: "500",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;height: "500",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;background: "black", //NO ALPHA =)&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;version: "0.9",&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt 0.5in; TEXT-INDENT: 0.5in"&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;framerate: &lt;/SPAN&gt;&lt;FONT face=Calibri&gt;“&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;15&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;”&lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; //only as much as needed&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;},&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;events: { onLoad:onLoadHandler} });&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;function onLoadHandler() {&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #00b050; FONT-FAMILY: Courier"&gt;&lt;o:p&gt;&lt;FONT size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="COLOR: #00b050; FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;/* To see the framerate displayed in the browser status bar */&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;agControl = document.getElementById("SilverlightControl");&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpMiddle style="MARGIN: 0in 0in 0pt; TEXT-INDENT: 0.5in; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;&lt;STRONG&gt;agControl.settings.EnableFrameRateCounter = true;&lt;o:p&gt;&lt;/o:p&gt;&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoListParagraphCxSpLast style="MARGIN: 0in 0in 0pt; mso-add-space: auto"&gt;&lt;SPAN style="FONT-FAMILY: Courier"&gt;&lt;FONT size=3&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=4315999" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/seema/archive/tags/slperf/default.aspx">slperf</category><category domain="http://blogs.msdn.com/seema/archive/tags/silverlight/default.aspx">silverlight</category></item></channel></rss>