分析 Silverlight 4

Posted

技术标签:

【中文标题】分析 Silverlight 4【英文标题】:Profiling Silverlight 4 【发布时间】:2011-09-05 16:54:16 【问题描述】:

我有一个 Silverlight 页面,它在 ScrollViewer 中显示 100 多个用户控件(大约 50% 的控件同时可见,具体取决于浏览器分辨率)。

当我使用 ScrollViewer 滚动时,滚动速度很慢,我的 4 个 CPU 内核中的一个达到 100%(只要我继续移动滚动条就一直保持在那里)。

我想根据MSDN Blog 上的说明对应用程序进行分析,以便更好地了解时间花在了哪些地方。像其中一位评论者一样,我得到了错误

没有可用的调用树数据。

当我打开 .vsp 文件时。

我使用这个批处理文件运行我的分析会话:

call vsperfclrenv /sampleon 
set CORECLR_ENABLE_PROFILING=1
set CORECLR_PROFILER=%COR_PROFILER%
call vsperfcmd /start:sample /output:myProfile.vsp
call vsperfcmd /launch:"c:\Program Files (x86)\Internet Explorer\iexplore.exe" /timer:100000
echo Browse to http://localhost:9567/MyTestPage.aspx#/Home
call vsperfcmd /shutdown

Echo Before viewing, turn on the symbols server in VS2010 through: Tools-->Options-->Debugging-->Symbols-->check microsoft symbols server.
Echo Open .vsp file in VS2010

一位博客评论员认为问题是由于 64 位版本的 vsperfcmd 造成的。当我运行 Windows 7 64 位时,vsperfcmd 表明它是 x86 版本:

vsperfcmd

Microsoft (R) VSPerf 命令版本 10.0.40219 x86

我在分析我的用户代码时缺少什么?

【问题讨论】:

您是否检查过 CLR 已加载分析器 - 它应该在应用程序事件日志中添加一个条目; CLR2/4 运行时对普通 .NET 应用程序执行此操作,因此我假设它对 Silverlight 执行相同操作。 【参考方案1】:

您是否尝试过在管理员控制台窗口中运行它 - 我最近注意到我无法配置(代码覆盖率)silverlight 应用程序,除非我在管理员帐户下运行,即使用“以管理员身份运行”启动控制台窗口

【讨论】:

以上是关于分析 Silverlight 4的主要内容,如果未能解决你的问题,请参考以下文章

WPF和Silverlight区别

如何安装Silverlight Tools 4

缺少 Silverlight“业务应用程序”模板

SharpDevelop with Silverlight

silverlight 2.0 Beta1 下载

安装silverlight失败原因是啥