WPF临时显示冻结

Bab*_*oey 8 wpf rendering freeze

我有一个在.NET 3.5上运行的独立WPF应用程序.每隔一段时间,显示屏就会冻结几秒钟.这在经常更新某些内容的屏幕上最为明显.这是一个显示问题的视频.

当显示器冻结时,界面保持响应(视频).

我遇到过一些其他类似问题的帖子,这些帖子将其归因于SW/HW渲染问题.为了安全起见,我完全禁用了硬件渲染,但仍然存在问题.

我在冻结期间运行了一个文件监视器,看看是否有一些特殊的文件访问或活动,但没有什么是不寻常的.

最后说明:目标平台是一款小型触摸屏平板电脑,没有太多内存或马力(512 MB).我只在目标上看到这个问题,而不是在我的开发PC上,它在资源方面有更多.

UPDATE

我以为我通过删除一些动画代码修复了这个问题,但它没有用.我仍然遇到这个问题而且我已经到了最后.

这是我尝试过的更多内容:

  • 升级到.NET 4.0.相同的行为.
  • 为可以通过DispatcherTimer(在UI线程上调用)调用的所有方法添加了调试代码,以确保它们都没有阻止UI.

我真的很难过,并且增加了赏金.正如我所提到的,问题只发生在目标PC(链接)上.

Bab*_*oey 1

罪魁祸首是以下方法调用:

new HwndSource(new HwndSourceParameters());
Run Code Online (Sandbox Code Playgroud)

将其添加到我的应用程序中是因为它修复了 .NET 3.5 中的内存泄漏问题。可以在此处找到此解决方法。如果我删除此调用,渲染问题就会消失。

我取出了调用并以另一种方式修复了内存泄漏(删除故事板动画并使用后面的代码代替)