【发布时间】:2013-08-14 08:53:08
【问题描述】:
我将一个 Delphi 桌面应用程序移植到 .NET(C#)。 它们都使用 DevExpress 组件,并且必须通过 Remote Destop 连接使用。
远程桌面连接速度较慢。 当两者都通过远程桌面进行测试时; Delphi 应用程序似乎比 .NET 应用程序快得多。
在 .NET 中,页面像网页加载一样逐部分打开,但我希望页面在一个部分中加载。
我能做到吗?
PS。我使用 DevExpress 的 UserControl 组件作为页面(标签)。
PPS。我取消了加载和启动屏幕组件的淡入和淡出效果以加快速度。
Delphi 应用画面视频:http://www.youtube.com/watch?v=7mHHDsqe5Dg&feature=youtu.be
.NET 应用程序屏幕视频:http://www.youtube.com/watch?v=P7N-FEcVoLQ&feature=youtu.be
更多细节:
这是应用程序中最复杂的页面之一。它是 DevExpress 的“XtraUserControl”用户控件实现(与 winforms 用户控件基本相同)。
我使用了 DevExpress 的 LayoutControl > LayoutControlGroup > LayoutControlItem 组件来对齐用户控件上的组件(网格、按钮、文本框等)。
这里是用户控件的主要容器(页面如上):
Tabs(像这样的用户控件)的主要容器是 DevExpress 的“XtraForm”表单实现。当从容器表单中选择菜单项时,相关的用户控件(页面)会作为选项卡项加载到主容器表单上,用户可以在选项卡之间导航或从菜单打开新页面(用户控件)。
【问题讨论】:
-
您是否尝试过使用 NGEN 工具为您的 .Net 应用程序创建原生镜像?
-
不,我不知道。似乎有助于解决问题。我会检查并回复。
-
很难说发生了什么。需要有人知道这两个应用程序在做什么、它们是如何实现的以及使用了哪些控件才能取得进展。此刻就是你。在您提供一些真实的细节之前,您只能靠自己。
-
@gesus 你在比较苹果和梨。 Delphi 控件与.net 控件完全不同。很可能渲染框架也不同。也许你的应用程序有很大的不同。无论如何,尽管 Dmitry 说了什么,但没有什么神奇的开关可以解决您的问题。问题是远程连接上的流量。 Dmitry 建议您在加载前编译,并在 WOW64 下运行。但这些建议似乎与网络流量问题无关。如果您希望您的应用程序在 rdp 下更好地工作,我建议您与 devexpress 交谈。他们是那些不去的人
-
@gesus 我看不出 Ngen 有什么帮助。我建议您在此线程中将他们指向我的 cmets,并要求他们更认真地考虑您的请求。如果他们建议 Ngen,那么他们还不够努力。
标签: .net winforms delphi devexpress remote-desktop