在花了14个小时之后我觉得是时候分享我的困境,看看之前是否有人遇到过这个问题。
我描述了我为排除某些事情所做的问题和测试。
好的,我有一个WPF应用程序,它从SQL数据库加载数据。 我正在使用DevExpress组件来处理数据网格,色带等...而FluentNhibernate则为数据库操作提供会话。我也使用log4net将事件记录到文本文件中。
在我的笔记本电脑上使用SQL Express 2008上的应用程序工作正常..应用程序启动,检索1000条记录,我可以选中功能区上的控件。
现在,我决定将应用程序演示到第三方,并在线使用远程登录/共享软件与其他人共享我的桌面,以便我可以在笔记本电脑上加载应用程序,他们可以使用该应用程序查看我。
现在,应用程序需要大约45秒来加载... 30秒,空白数据库,当我不使用在线软件共享我的屏幕时,应用程序在大约7-10秒内加载。除此之外,即使在演示期间使用应用程序中的控件也非常粘,慢且无响应。
在共享会话期间,我可以毫无问题地使用其他应用程序......其他一切都运行良好。
但我无法理解我的应用程序在正常情况下如何工作正常,甚至同时浏览网络等...但是当我与另一个用户共享会话时完全无法正常执行... CPU使用率当应用程序尝试启动时,高达100%......
请参阅下面我在项目中使用的第三方dll列表。
所有这些DLL都在输出文件夹中,其中应用程序dll是从项目中的类程序集创建的。因此,当通过计算机上的安装程序安装时,dll将与应用程序文件本身位于相同的应用程序文件夹中。
非常感谢
答案 0 :(得分:2)
我在一年前用logmein看到过类似的东西。性能不是应用程序的图形处理。 WPF以完全不同的方式呈现图形,然后GDI winforms看到2.3左右msdn article。如果您不使用插件(例如logmein),许多远程桌面应用程序都无法正确呈现。你没有说你正在使用什么,但我建议尝试一些不同的RDP选项,因为那里有很多,并确保你的最新版本。
答案 1 :(得分:1)
是的,正如bumle-bee-tuna指出的那样,WPF将默认通过远程桌面进行软件渲染。另一种方法可能是使用Skype或类似方式筛选共享。这意味着您将在本地呈现应用程序,但将图像传输给远程用户。应用程序应该全速运行,观众将看到的唯一滞后将由Skype网络引入。我已经多次使用这种技术来远程提供演示并且运行良好!