使用远程共享软件演示时,WPF应用程序缓慢无响应

时间:2011-11-18 17:44:18

标签: c# .net wpf

在花了14个小时之后我觉得是时候分享我的困境,看看之前是否有人遇到过这个问题。

我描述了我为排除某些事情所做的问题和测试。

好的,我有一个WPF应用程序,它从SQL数据库加载数据。 我正在使用DevExpress组件来处理数据网格,色带等...而FluentNhibernate则为数据库操作提供会话。我也使用log4net将事件记录到文本文件中。

在我的笔记本电脑上使用SQL Express 2008上的应用程序工作正常..应用程序启动,检索1000条记录,我可以选中功能区上的控件。

现在,我决定将应用程序演示到第三方,并在线使用远程登录/共享软件与其他人共享我的桌面,以便我可以在笔记本电脑上加载应用程序,他们可以使用该应用程序查看我。

现在,应用程序需要大约45秒来加载... 30秒,空白数据库,当我不使用在线软件共享我的屏幕时,应用程序在大约7-10秒内加载。除此之外,即使在演示期间使用应用程序中的控件也非常粘,慢且无响应。

在共享会话期间,我可以毫无问题地使用其他应用程序......其他一切都运行良好。

但我无法理解我的应用程序在正常情况下如何工作正常,甚至同时浏览网络等...但是当我与另一个用户共享会话时完全无法正常执行... CPU使用率当应用程序尝试启动时,高达100%......

请参阅下面我在项目中使用的第三方dll列表。

  • DevExpress dlls
  • FluidKit
  • PixelLab.WPF
  • PixelLab.Common
  • Galasoft WPF Kit
  • FluentNHibernate
  • NHibernate的
  • Nhibernate.ByteCode.Castle
  • Skype4ComLib
  • TXTEXTControl
  • log4net的
  • LinqKit

所有这些DLL都在输出文件夹中,其中应用程序dll是从项目中的类程序集创建的。因此,当通过计算机上的安装程序安装时,dll将与应用程序文件本身位于相同的应用程序文件夹中。

非常感谢

2 个答案:

答案 0 :(得分:2)

我在一年前用logmein看到过类似的东西。性能不是应用程序的图形处理。 WPF以完全不同的方式呈现图形,然后GDI winforms看到2.3左右msdn article。如果您不使用插件(例如logmein),许多远程桌面应用程序都无法正确呈现。你没有说你正在使用什么,但我建议尝试一些不同的RDP选项,因为那里有很多,并确保你的最新版本。

答案 1 :(得分:1)

是的,正如bumle-bee-tuna指出的那样,WPF将默认通过远程桌面进行软件渲染。另一种方法可能是使用Skype或类似方式筛选共享。这意味着您将在本地呈现应用程序,但将图像传输给远程用户。应用程序应该全速运行,观众将看到的唯一滞后将由Skype网络引入。我已经多次使用这种技术来远程提供演示并且运行良好!