【问题标题】:How to debug silverlight performance problems, data grid如何调试silverlight性能问题,数据网格
【发布时间】:2011-05-06 11:19:42
【问题描述】:

我有一个 Silverlight 导航应用程序,由于某种原因,它在显示数据网格时会占用整个处理器...

例如:Image Link

我不知道为什么会这样,它不应该刷新网格,如果我在 PropertyChanged 上放一个断点,就没有属性改变...

更多信息

我已经跟踪到显示一个显示滚动条(T​​reeView,DataGrid)的控件,当显示时,处理器试图达到允许的最大帧速率(60)并阻塞 CPU...我可以转这下来了,但关键是它不应该一直试图达到这个速度,它通常只在某些变化时刷新 UI,但现在它在出现滚动条时这样做!这是怎么回事?

有人对如何调试这个有任何想法吗?

【问题讨论】:

    标签: silverlight silverlight-toolkit


    【解决方案1】:

    您是否尝试过在 Visual Studion 中简单地按下暂停按钮,然后检查每个线程上的调用堆栈。如果您的代码正在执行某些操作,您会发现您的一些代码至少在其中一个线程上运行。然后,向上堆栈应该会让您进入一些不应该发生的可怕循环,或者由于某些其他原因不断触发的事件。

    【讨论】:

    • 嗨 Anthony,我试过了,但每个线程似乎都没有运行任何 .NET 代码,我找不到任何线程可以给我一个调用堆栈来潜入...
    • @James:你在使用像 IE 这样的其他浏览器时会遇到同样的问题吗?
    • 是的,在使用 IE9 时也会出现同样的问题。
    【解决方案2】:

    如果您使用的是 Silverlight 的 Metro 示例主题,则会出现一个错误,即如果您使用 BusyIndi​​cator 并在主框架上有阴影,则 CPU 使用率会达到 100%。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-02-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多