WPF临时显示冻结

我对.NET 3.5中运行一个独立的WPF应用程序。 几乎每隔一段时间,显示只是冻结了几秒钟。 这是最明显的在屏幕上的东西在那里被经常更新。 这里是表示问题的视频。

当显示被冻结,接口保持响应(视频)。

我接触过一些其他职位与谁它归结为一个软件/硬件渲染的问题类似的问题。 为了安全起见,我禁用硬件渲染干脆,但仍然有问题。

我在冻结期间跑了文件监视,看看是否有一些特别的文件访问或活动正在进行,但没有什么是不寻常的。

最后一点:目标平台是没有太多的内存或马力(512 MB)的小触摸屏平板电脑。 我只看到目标这个问题上,我从来没有开发PC,它在资源的方式更加上。

UPDATE

我想我已经通过去除一些动画代码固定的问题,但没有奏效。 我仍然遇到问题,我在我的穷途末路。

这里的一些更多的事情我已经试过:

  • 升级到.NET 4.0。 相同的行为。
  • 添加调试代码到可以通过DispatcherTimer被调用的所有方法(被称为UI线程),以确保他们没有被举起的用户界面。

我真的在这里住了,已经添加了一个赏金。 正如我所提到的,问题只发生在目标PC(链接)。

--------------解决方案-------------

我倾向于怀疑任何.NET GC或操作系统交换文件时,这种行为的出现。

对于前者,你可以试试.NET性能计数器监视可疑的活动。

如果设备有一个交换文件,您可以禁用它,看看是否更改的行为。

正如其他人所说,探查器(或隔离什么情况引起的延迟的东西 - 哪怕只是附加和当它发生时打破了调试器)将是一个很好的方式来获得更多的信息。

你有没有试过来分析被测试系统上的应用程序? 使用内存和/或性能分析器?

你可以得到一些好的信息这种类型的测试中:一些净剖析下面是一个WPF:微软WPF分析器

您已经阅读这篇文章:http://www.codeproject.com/KB/WPF/AsynchronousWPF.aspx

似乎有几乎同样的问题说明

罪魁祸首是下面的方法调用:

new HwndSource(new HwndSourceParameters());

这被添加到我的应用程序,因为它在.NET 3.5补丁的内存泄漏问题。 这种解决方法可以在这里找到。 如果我删除此调用,渲染问题消失。

我拿出电话和固定以另一种方式内存泄漏(删除故事板动画和使用代码而不是背后)

分类:WPF 时间:2015-03-15 人气:4
本文关键词: WPF,渲染,冻结
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.513 (s). 10 q(s)