Silverlight 性能向导






4.71/5 (5投票s)
直接通过 Visual Studio 分析 Silverlight 应用程序的性能。
引言
我之前在我的博客上写了这篇文章,并想把它也发布在 CodeProject 上。
文章
微软已经发布了 Visual Studio 2010 的第一个 Service Pack。虽然 Service Pack 标记为 beta 版,但它附带了“go live”许可证。 随之而来的是另外两个 Service Pack:Team Foundation Server 2010 SP1 Beta 和 .NET 4.0 SP1 Beta。 对于 Silverlight 开发人员,他们在 Visual Studio 2010 SP1 Beta 中打包了两个更新。
- Silverlight 4 适用于 Visual Studio 2010 的工具:“Silverlight 4 工具现在包含在 Silverlight 3 支持中”,这意味着您不必单独安装 Silverlight 4 工具。
- Silverlight 的性能向导:这将使用户能够直接通过 Visual Studio 分析 Silverlight 应用程序的性能,用户可以创建性能分析报告并保存它们。
您可以从 Brian 的博客获取下载链接,他在 Service Pack 中详细介绍了所有重要的更新 http://blogs.msdn.com/b/bharry/archive/2010/12/07/vs-tfs-2010-sp1-beta-has-released.aspx。
下载 Web 安装程序后,请耐心等待,因为安装需要一些时间来下载并安装软件包。 对我来说,整个过程大约花了一个小时。 成功安装后,系统会要求您重新启动计算机。 现在,您的 Visual Studio 已经准备好使用向导开始分析您的 Silverlight 应用程序的性能了。
性能向导非常简单。 让我们逐步进行,打开一个现有的 Silverlight 项目或创建一个新项目。 要启动“性能向导”,请转到主菜单找到“分析 –> 启动性能向导…”

应显示性能向导页面 1/3,如果未选中 CPU 采样,则默认情况下必须选中。如果不是,请勾选 CPU 采样前的单选按钮。

性能向导页面 2/3 - 在此页面上,您将找到一个项目列表,具体取决于您的解决方案的结构。 通常对于 Silverlight 项目,您将在列表中找到 Silverlight 应用程序和 Web 应用程序,选择您的 Silverlight 应用程序并单击“下一步”按钮。

性能向导页面 2/3 只是一个摘要,说明已收集所有需要的信息。 确保在此页面上选中标记为“向导完成后启动性能分析”的复选框。 当您单击完成时,应用程序应该会在您的默认浏览器中打开。

如果您没有以管理员身份运行,您可能会收到一条错误消息,提示“无法打开分析器驱动程序,您想升级凭据吗…” 。 只需单击“是”并在需要时提供管理员凭据。

完成上述步骤后,性能浏览器将填充一个类似于下图的结构。 性能向导创建了两个文件夹,Reports 和 Targets。

好的,现在让我们进行一个简单的性能测试。 让我们创建一个简单的应用程序,看看性能报告是什么样子的。 创建一个 Silverlight 应用程序。 在您的主页面中,添加一个按钮,在单击该按钮时,我们应该有一个执行某种 CPU 密集型活动的函数。 我只是简单地创建了一个嵌套循环,让 CPU 忙碌一会儿,但是您可以编写任何 CPU 密集型的代码。
private void Button_Click(object sender, RoutedEventArgs e)
{
for (int i = 0; i < 100000; i++)
{
for (int j = 0; j < 10000; j++)
{
}
}
}
现在按照上述步骤使用向导生成性能分析报告,运行项目,单击该按钮几次,然后关闭浏览器。 Visual Studio 将根据性能分析期间收集的样本调出可视报告。 下图显示了我的测试结果,人们可以清楚地在图中识别出第一次和第二次点击期间 CPU 的峰值。 一个有趣的事实是,Studio 将自动显示在资源方面成本高昂的方法的调用树。 对于我们的例子,事件处理程序Button_Click()
执行一个耗费资源的 for
循环,并且 Studio 能够识别该方法并显示调用层次结构。

关注点
- Visual Studio SP1 中的完整错误修复列表
http://blogs.msdn.com/b/jasonz/archive/2010/12/20/visual-studio-2010-service-pack-1-beta-feedback.aspx - 我的博客文章链接
http://avikas.blogspot.com/2010/12/performance-wizard-for-silverlight-with.html
历史
- 2010 年 12 月 22 日:初始发布