|
|
1
4
我们使用“针对WPF的性能分析工具”/可视化分析来发现哪些事件占用了大部分CPU使用。Tick(TimeManager.Tick())占用了应用程序大约40%的CPU使用率。然后我们一个接一个地移除所有动画控件,最后,我们发现有一个故事板会在大约30分钟后增加CPU的使用。 然后我们改变了形式:
到
此问题已解决。有关移交行为的详细信息,请参阅msdn: http://msdn.microsoft.com/en-us/library/system.windows.media.animation.handoffbehavior.aspx |
|
|
2
1
您应该看看其他线程,我认为显示线程的切换位于Visual Studio的“调试”菜单中。”[在睡眠中,等待或联接“意味着线程不能做任何事情,因为它正在等待另一个线程来完成它的操作。 它可能被卡在一个无限循环中的某个地方,不管是有意的还是无意的(有意的,比如某个UI对象连续重新绘制,比如动画或其他东西),不管它是什么,它都不在堆栈中显示的当前线程中。 |
|
|
3
1
您有一些跟踪问题的选项。我将从Visual Studio 2008中的性能向导开始。你可以在分析菜单上找到它。 |
|
|
4
0
我不是WPF专家,但您在这里显示的调用堆栈可能不是您的问题。该线程正在等待其他同步对象,没有执行任何操作。vs无法显示正在运行的代码的原因是因为它在本机代码中等待(一旦调用waitany(),我相信您会调用本机OS构造来执行实际的等待)。 您的WPF进程中是否有其他线程正在运行,可能会占用CPU时间? |
|
Sweepy Dodo · JSON lite的格式化 1 年前 |
|
|
giantjenga · 优化整数向量到二进制向量的转换 1 年前 |
|
Zegarek · Postgresql递归查询未提供预期结果 1 年前 |
|
|
Joe · 为什么这两个查询之间的性能存在如此大的差异? 1 年前 |
|
tic-toc-choc · 在`dplyr中高效使用列表进行过滤` 1 年前 |