Mono C#WinForms - >在Mac OSX上运行时出现严重的性能问题

Chr*_*ris 7 c# macos mono performance winforms

我有一个关于C#,Mono和OSX的问题.我使用Windows Forms在C#中创建了一个程序,并尝试在Mac上使用它.

问题是,OSX上的性能极差,我无法找到加快速度的方法.该程序本身非常简单:一个客户端服务器系统只使用两个DataGridViews,一些ComboBoxes和Buttons,一个TabControl,一些SplitContainers - 就是这样!在Windows上运行良好,没有任何速度问题.

当我在Mac上打开程序(MacBook Air,OSX版本10.8.3)时,加载GUI需要很长时间.在WIndows上构建它需要大约0.5秒,在Mac上大约需要一分钟(!).所有控件的构建都非常缓慢,并且大部分时间通过点击某些内容与程序进行交互,需要至少10秒来响应.

我了解到Mono使用Windows.System.Drawing本地构建GUI.这可能是该计划反应极其缓慢的原因吗?我该怎么做才能加快程序的速度?必须有某种方式,因为如果它甚至不能用于这样一个简单的程序,Mono将毫无用处......

我花了几个小时试图谷歌回答我的问题,但却找不到任何有用的东西:AheadOfTime-Compiling,LLVM - 没有什么能提高性能.

非常感谢你的答案!

克里斯

更新: 我现在已经减少了性能问题.Mono似乎遇到了Gridview的CellFormating问题.我更改了适用部分中的代码,现在运行得更快.

然而,构建GUI仍需要很长时间.你可以从字面上看它构建GUI.有什么建议吗?

Fru*_*eek 1

您必须在 Mac 或 Linux 上进行调试才能找出到底是什么运行得如此糟糕。Mono 有一些实现速度慢得惊人。虽然您看到用户界面缓慢的症状,但原因可能完全是其他原因。

例如,在类似的情况下,我发现 XmlDocument 非常慢,因为我正在研究 UI 为何如此缓慢。如果您使用 XmlDocument 存储来自服务器的数据,则可能会导致您的 UI 速度缓慢且几乎没有响应。